В таблице отчетов есть несколько записей даты и количества за каждый день. Я хочу выбрать сумму количества меньше 3 для каждой записи дня отдельно.
Пока у меня это:
SELECT
DATE(date_time) AS date_time,
SUM(quantity) AS quantity
FROM report
WHERE date_time BETWEEN ? AND ?
AND quantity < 3
GROUP BY DATE(date_time)
Таблица Пример:
| date_time | quantity
-------------------------
| 2017-08-12 09:11:51 | 1
| 2017-08-12 10:12:51 | 1
| 2017-08-12 12:45:51 | 1
| 2017-08-13 11:12:51 | 1
| 2017-08-13 11:12:51 | 1
| 2017-08-13 12:45:51 | 1
| 2017-08-13 13:57:51 | 1
| 2017-08-14 14:23:51 | 1
| 2017-08-14 16:34:51 | 1
| 2017-08-15 16:21:51 | 1
| 2017-08-16 14:31:51 | 1
После выбора:
| date_time | quantity
-------------
| 2017-08-14 | 2
| 2017-08-15 | 1
| 2017-08-16 | 1
Как я могу это сделать?
ПОПРОБУЙТЕ ЭТО: вам нужно использовать HAVING
для фильтрации группы, тогда как WHERE
фильтрует строки
SELECT DATE(date_time) as date_time
,SUM(quantity) as quantity
FROM report
WHERE date_time BETWEEN '' AND ''
GROUP BY DATE(date_time)
HAVING SUM(quantity) < 3 --Before it was data specific COUNT(quantity)