Mysql
 sql >> Database >  >> RDS >> Mysql

Restituisce il risultato predefinito per il valore IN indipendentemente

Hai una condizione su OnlineUseage il join sinistro diventa come un inner join.

sposta la tua condizione in from la clausola sarà migliore :

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