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

Jak uzyskać liczbę, nawet jeśli nie ma wyników odpowiadających mysql?

W tym celu możesz utworzyć tabelę „miesiąc”, a następnie użyć lewego połączenia zewnętrznego między tabelą a tabelą raportów.

Nigdy nie używałem mysql, więc przepraszam, jeśli składnia jest nieco nieprawidłowa, ale to byłoby zapytanie:

SELECT months.monthNumber,
    count(reports.id) AS `count`
FROM `months` left outer join `reports` on months.monthNumber = month(reports.date_lm) 
WHERE (status = 'submitted') 
AND (date_lm > 2012-08) 
GROUP BY monthNumber
ORDER BY monthNumber ASC

Co ważne, liczba powinna dotyczyć kolumny w tabeli raportów, a nie tabeli miesięcy, w przeciwnym razie nigdy nie otrzymasz zera.



  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 usunąć duplikaty w tabeli MySQL?

  2. JSON_OBJECT() – Utwórz obiekt JSON z listy par klucz/wartość w MySQL

  3. Zapobiegaj automatycznemu przyrostowi w przypadku duplikatu wstawiania MySQL

  4. jak radzić sobie z akcentami i dziwnymi znakami w bazie danych?

  5. Podział SQL używający 'nie istnieje' w mysql