Ver Mensaje Individual
  #5 (permalink)  
Antiguo 22/08/2018, 14:20
jonn59
 
Fecha de Ingreso: septiembre-2009
Mensajes: 25
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Obtener registros de en una tabla que almacena Logs

Cita:
Iniciado por Libras Ver Mensaje
usa or en lugar de and

Código MySQL:
Ver original
  1. SELECT COUNT(DISTINCT Usuarios.id) AS Total, Usuarios.Ciudad
  2. FROM Usuarios
  3. INNER JOIN Logs ON Usuarios.id = Logs.Usuarios_id
  4. WHERE (Logs.Url LIKE "%seccion1" or Logs.Url LIKE "%seccion2")
  5. AND Usuarios.Tipo ='M'
  6. GROUP BY Usuarios.Ciudad;
Cita:
Iniciado por Libras Ver Mensaje
si asi es regresa tanto los de la 1 como los de la 2 aqui tendrias que hacer algo como esto:

Código SQL:
Ver original
  1. SELECT COUNT(DISTINCT Usuarios.id) AS Total, Usuarios.Ciudad
  2. FROM Usuarios
  3. INNER JOIN Logs ON Usuarios.id = Logs.Usuarios_id
  4. INNER JOIN Logs AS t1 ON Usuarios.id = t1.Usuarios_id
  5. WHERE Logs.Url LIKE "%seccion1" AND t1.Url LIKE "%seccion2"
  6. AND Usuarios.Tipo ='M'
  7. GROUP BY Usuarios.Ciudad;
Hola, la consulta ya me regresa el resultado, pero demora mucho (hablamos de casi 5min) la tabla de usuarios tiene 18,000 registros y la de logs 400,000.
Aun así me parece alto el tiempo de la consulta, Sobre todo si quisiera aumentar el numero de secciones a consultar. Crees que haya forma de reformular la consulta?

Última edición por jonn59; 22/08/2018 a las 14:26