Я могу сгруппировать дату и получить общее количество для каждой даты, используя следующий запрос:
SELECT
DATE(work_time) as dt,
dayname(work_time) as dayofweek,
COUNT(*) as deploy_count
FROM table_1
where
work_type = 'deploy'
GROUP BY
DATE(work_time);
Вместо этого я хочу указать целое число развертываний, которое я хочу общее количество развертываний за 00:00 : 00 ~ 06:00:00 интервал времени для каждого дня.
Это мой подход:
SELECT
DATE(work_time) as dt,
dayname(work_time) as dayofweek,
COUNT(*) as deploy_count
FROM table_1
where
work_type = 'deploy' and
(cast(work_time as time) between '00:00:00' and '06:00:00')
GROUP BY
DATE(work_time);
однако deploy_count во втором запросе больше первого, который определенно не делает смысл, поскольку первый подсчитывает общее развертывание за день, а второй - подсчет общего развертывания за день в течение 0 ~ 6 утра.
РЕДАКТИРОВАТЬ:
На самом деле это работает ... но так как он игнорирует 0 считает, что я запутался.
Я собираюсь оставить это, поскольку я не нашел вопрос, подобный этому, поэтому другие люди могли бы извлечь выгоду из моего решения.
Я счастлив закрыть это когда-то дубликат вопроса был найден. Спасибо!