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

генерирайте празни редове, дори ако са празни между 2 дати

Опитайте с coalesce функция, която ще върне '0', ако sum(orders.amount) е нулев за конкретен месец:

select COALESCE(sum(o.amount), 0) as amount, o.completed_at 
from orders o 
where date(o.completed_at) between '2011/10/01' and '2012/03/06' 
group by year(o.completed_at), month(o.completed_at) order by o.completed_at


  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 AVG да игнорира нула

  2. Инсталиране на MySQL на CentOS 7

  3. Как да транспонирате редове в колони динамично в MySQL

  4. MySQL:изберете * от таблицата, където col IN (null, ) е възможно без ИЛИ

  5. PHP + MySQL опашка