Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да получа броене, дори ако няма резултати, съответстващи на mysql?

За да направите това, можете да създадете таблица „месец“ и след това да използвате ляво външно свързване между тази таблица и таблицата с отчети.

Никога не съм използвал mysql, така че се извинявам, ако синтаксисът е леко неправилен, но това би било заявката:

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

Важно е, че броят трябва да е от колона в таблицата с отчети, а не в таблицата с месеците, в противен случай никога няма да получите нула.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Загуба на връзка с MySQL след известно време и не се свързва отново

  2. Не можете да посочите целева таблица за актуализиране в клаузата FROM

  3. Колона с по-висока мощност първа в индекс, когато включва диапазон?

  4. Неуспешно надграждане на SonarQube от 4.5.2 на 5.0

  5. Как да оптимизирате заявки за Entity Framework