Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zwróć domyślny wynik dla wartości IN niezależnie od

Masz warunek na OnlineUseage sprzężenie lewe staje się sprzężeniem wewnętrznym.

przenieś swój warunek do from klauzula będzie lepsza :

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zachować ukośnik odwrotny podczas ucieczki od cudzysłowów w MySQL — QUOTE()

  2. Przekształć wynik bazy danych w tablicę

  3. Jak importować / przywracać tabele MySql za pomocą PHP

  4. Dlaczego MySQL pozwala na grupowanie według zapytań BEZ funkcji agregujących?

  5. MySql:MyISAM kontra Inno DB!