sql >> Base de Datos >  >> RDS >> Mysql

Construyendo una consulta mysql para contar datos específicos en la misma tabla/fila

Los COUNT deben realizarse en subconsultas separadas. Esto debería funcionar.

EDITAR:Corregido un par de errores estúpidos e incluido un violín con la respuesta.

SELECT DISTINCT E.created,F.flash,C.client
FROM events E
LEFT JOIN (
    SELECT created,COUNT(DISTINCT user_id) as flash
    FROM events
    WHERE event_type LIKE 'Flash C log'
    GROUP BY created
) F
ON F.created = E.created
LEFT JOIN (
    SELECT Created,COUNT(DISTINCT user_id) as client
    FROM events
    WHERE event_type LIKE 'Client C log'
    GROUP BY created
) C
ON C.created = E.created
WHERE E.created BETWEEN '2016-09-25' AND '2016-09-27'

Juega con los resultados