Я хочу сгруппировать по дням, но время не должно быть с 00:00:00 до 23:59:59. Оно должно быть с 22:00:00 (предыдущий день) до 21:59:59 (текущий день)
У меня есть запрос:
SELECT
DATE_TRUNC('day',"timecolumn") "DATE",
COUNT(*)
FROM "schemaname"."tablename"
WHERE
TO_CHAR("timecolumn",'YYYYMMDD') BETWEEN '20200301' AND '20200307'
GROUP BY "DATE";
Это дает мне количество разделенных на 7 дней.
Но эти данные рассчитываются следующим образом:
2020-03-01 00:00:00 to 2020-03-01 23:59:59
2020-03-02 00:00:00 to 2020-03-02 23:59:59
2020-03-03 00:00:00 to 2020-03-03 23:59:59
2020-03-04 00:00:00 to 2020-03-04 23:59:59
2020-03-05 00:00:00 to 2020-03-05 23:59:59
2020-03-06 00:00:00 to 2020-03-06 23:59:59
2020-03-07 00:00:00 to 2020-03-07 23:59:59
Принимая во внимание, что мне нужно разделить данные, как показано ниже:
2020-02-29 22:00:00 to 2020-03-01 21:59:59
2020-03-01 22:00:00 to 2020-03-02 21:59:59
2020-03-02 22:00:00 to 2020-03-03 21:59:59
2020-03-03 22:00:00 to 2020-03-04 21:59:59
2020-03-04 22:00:00 to 2020-03-05 21:59:59
2020-03-05 22:00:00 to 2020-03-06 21:59:59
2020-03-06 22:00:00 to 2020-03-07 21:59:59