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

Добавете липсващ месец в резултата от заявката

Създайте таблица с всички месеци и след това я присъединете към нея с вашата заявка. По линия на

select count(1) as count, months.month, year(published_at) as year
from months left join articles on months.month = month(published_at)
where published_at >= (now() - interval 1 year) and published_at <= now()
group by month(published_at)
order by year asc, month 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. SQL - WHERE условие за SUM()

  2. Как да инсталирате MySQL на Debian 8

  3. Клауза INNER JOIN ON срещу WHERE

  4. потвърдете възрастта, преди да регистрирате потребител, за да проверите дали е над определена възраст, като използвате mvc

  5. Как мога да предотвратя SQL инжектирането в PHP?