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

Mysql:Бройте записи (включително нула) на месец

Най-простият начин да направите това в MySQL е да създадете таблица, наречена months който изброява всички месеци, от които се интересувате, и използва LEFT JOIN към вашата таблица.

SELECT
   YEAR(time) AS year
   MONTH(time) AS month,
   COUNT(myTable.year) AS cnt, 
FROM months
LEFT JOIN myTable 
    ON months.year = myTable.year
    AND months.month = myTable.month
GROUP BY months.year, months.month
ORDER BY months.year, months.month

Въпреки това, тъй като това е предимно проблем с представянето, често е по-лесно просто да стартирате заявката, както вече правите, и да трансформирате резултата в клиента (напр. PHP).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да работя с javax.persistence.sql-load-script-source?

  2. Вземете служители, които са под средната заплата след повишение

  3. MySQL ограничаване на резултатите по категория

  4. Какъв индекс трябва да използвам, когато използвам JOIN на PRIMARY KEY

  5. MySQL now() променя часовата зона