есть табличка из 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);
Благодарю!
В общем случае будет что-то типа
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.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости