Mysql дата группового отсчета от указанного c диапазона времени - PullRequest
0 голосов
/ 11 марта 2020

Я могу сгруппировать дату и получить общее количество для каждой даты, используя следующий запрос:

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 считает, что я запутался.

Я собираюсь оставить это, поскольку я не нашел вопрос, подобный этому, поэтому другие люди могли бы извлечь выгоду из моего решения.

Я счастлив закрыть это когда-то дубликат вопроса был найден. Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...