@Koden

Как правильно составить запрос?

Есть некий запрос, который считает общую сумму заказов принятых в ночную смену (с 20:00 по 08:00 следующего дня) за определенный период времени.
SELECT 
  count(O.SUMM) as "Сумма заказов в ночную смену"
from
  ORDERS O
where
  --вечер текущего дня
  (((O.STARTTIME :: date) between ('2021-11-01':: date) and ('2021-11-30' :: date) and
    (O.STARTTIME :: time) between ('20:00:00' :: time) and ('23:59:59' :: time)) or
  -- утро следующего
   ((O.STARTTIME :: date) between ('2021-11-02' :: date) and ('2021-12-01' :: date) and
    (O.STARTTIME :: time) >= ('00:00:00' :: time) and (O.STARTTIME :: time) < ('08:00:00' :: time))) 
group by 2,1;

Как можно изменить запрос, чтоб на выходе были данные за период с разбивкой по сменам?
Прим. - смена считается по дате начала. Например, смена с 2021-12-01 20:00:00 по 2021-12-02 08:00:00 считается как "ночная смена 2021-12-01"
  • Вопрос задан
  • 44 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы