Ver Mensaje Individual
  #5 (permalink)  
Antiguo 13/04/2015, 00:19
jhonjaider1000
 
Fecha de Ingreso: abril-2015
Ubicación: Bogotá D.C - Colombia
Mensajes: 106
Antigüedad: 9 años
Puntos: 11
Respuesta: Select contador de registros repetidos

Hola amigos recurro nuevamente a este tema para publicar la consulta final que he realizado por si algún día otra persona tiene un problema similar, generalmente la consulta final que habia conseguido tenia una irregularidad, pues me listaba los usuarios de forma ascendente por número de chats recibidos para lo cual en verdad necesitaba que me los listara por el número de usuarios que habian enviado mensajes a ese usuario y si estaban conectados o no(de lo contrario no lo contaría) así que llegué a esta consulta final:
Código SQL:
Ver original
  1. SELECT  u3.id_usuario, u3.nombres, u3.apellidos, COUNT(DISTINCT q2.id_usuario) AS clients
  2. FROM (SELECT u2.id_usuario, u2.nombres, u2.apellidos, u2.id_rol, u2.conectado, q1.mensaje, q1.id_usuario_destino
  3.  FROM (SELECT  c.id_usuario_origen, u.id_rol, u.nombres, u.apellidos, u.conectado, c.id_usuario_destino,
  4. c.mensaje FROM usuarios u INNER JOIN chat c ON u.id_usuario = c.id_usuario_origen
  5. WHERE (u.id_rol = -1 OR u.id_rol = 2 ) AND u.conectado = 1 OR u.id_usuario = 1) q1
  6.  INNER JOIN usuarios u2 ON u2.id_usuario = q1.id_usuario_origen) AS q2 INNER JOIN usuarios u3 ON u3.id_usuario = q2.id_usuario_destino WHERE u3.conectado = 1
  7.  GROUP BY u3.id_usuario ORDER BY clients ASC LIMIT 1

Última edición por gnzsoloyo; 13/04/2015 a las 04:03