Mysql
 sql >> Base de données >  >> RDS >> Mysql

Renvoie le résultat par défaut pour la valeur IN quelle que soit

Vous avez une condition sur OnlineUseage la jointure gauche devient comme une jointure interne.

déplacez votre condition vers le from clause sera mieux :

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