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

Devuelve el resultado predeterminado para el valor IN independientemente

Tienes una condición en OnlineUseage la combinación izquierda se convierte en una combinación interna.

mueva su condición al from cláusula será mejor :

SELECT
    users.Name,
    users.ID,
    IFNULL(SUM(users.Minutes), 0) AS MinutesOnline
FROM
    users
    LEFT JOIN OnlineUseage ON
        OnlineUseage.ID = users.ID and
        OnlineUseage.Date >= '2016-01-01 00:00:00' AND
        OnlineUseage.Date <= '2016-12-31 23:59:59'
WHERE
    users.ID IN (332,554,5764,11,556,.........)
GROUP BY
    users.ID,users.Name
ORDER BY
    users.ID