SQL запрос (кол-во заказов за каждый день)

188
06 марта 2019, 22:20

есть табличка из 2-х колонок:

order_id | time_order
1 | 2018-10-10 00:00:00
2 | 2018-10-11 01:01:01
4 | 2018-10-12 02:02:02
5 | 2018-10-12 03:03:03
6 | 2018-10-13 04:04:04
---
7 | 2018-10-14 05:05:05
...

Есть дни когда более одного заказа, а есть когда 0 заказов и соответственно нет записей с этой датой.

Помогите плз написать запрос, по результату которого можно получить строку c количеством заказов за каждый день интервала вида: 1,1,2,1,0,1...

делаю такой запрос, но в нем не учитываются те дни временного интервала где 0 заказов:

SELECT DATE(time_order), COUNT(*)
FROM orders
WHERE DATE(time_order) >= DATE(NOW()) - INTERVAL 7 DAY
GROUP BY DATE(time_order);

Благодарю!

Answer 1

В общем случае будет что-то типа

SELECT DATE(time_order), COUNT(*)
FROM orders, (      select 0 x 
              union select 1 
              union select 2
              union select 3
              union select 4
              union select 5 
              union select 6 ) x
WHERE DATE(time_order) = DATE(NOW()) - INTERVAL x.x DAY
GROUP BY DATE(time_order);

Для версии 8+ набор дат генерируется рекурсивным CTE.

READ ALSO
sql импорт из файла

sql импорт из файла

Всем добрый день! Есть файл дампа базы данных, нужно его импортировать, но при импорте выскакивает такая бяка

183
SQL. Одинаковые результаты для IN и NOT IN

SQL. Одинаковые результаты для IN и NOT IN

Объясните мне дураку, какого Шредингера тут происходит

185
Перехват событий консоли

Перехват событий консоли

Всем привет,как мне перехватить события консоли вида info,log,warn,error вот таким способом

212