Получать данные из Oracle Database на почасовой и ежедневной основе, используя отметку времени и текущую дату - PullRequest
0 голосов
/ 23 сентября 2019

Я написал запрос для получения данных за определенный день, но мне нужен запрос, чтобы получать данные ежечасно и ежедневно

Мой запрос:

SELECT 
TRAN_USERTRANSACTIONS.APPLICATIONNUMBER 
FROM 
TRAN_USERTRANSACTION 
WHERE TRAN_USERTRANSACTIONS.CREATEDAT 
LIKE '%19-09-19%' 
GROUP BY 
TRAN_USERGTRANSACTION.APPLICATIONNUMBER;

CREATEDAT - метка времени вформатировать следующим образом: ДД-ММ-ГГ чч.мм.сс.сссс AM / PM

Ответы [ 2 ]

0 голосов
/ 23 сентября 2019

Я предполагаю, что вам нужна сводка по часам, а не по заявкам.Если так, то час должен быть в GROUP BY:

SELECT TO_CHAR(t.CREATEDAT, 'YYYY-MM-DD HH24') as dh,
       COUNT(*) 
FROM TRAN_USERTRANSACTION t
WHERE t.CREATEDAT >= DATE '2019-09-19' AND
      t.CREATEDAT < DATE '2019-09-20'
GROUP BY TO_CHAR(t.CREATEDAT, 'YYYY-MM-DD HH24')
ORDER BY dh;
0 голосов
/ 23 сентября 2019

По часам (надеюсь, это поможет):

Select TRAN_USERTRANSACTIONS.APPLICATIONNUMBER
       , TO_CHAR(TRAN_USERTRANSACTIONS.CREATEDAT ,'HH AM')
from TRAN_USERTRANSACTION
WHERE TRAN_USERTRANSACTIONS.CREATEDAT LIKE '%19-09-19%' 
group by TRAN_USERTRANSACTIONS.APPLICATIONNUMBER 
         , TO_CHAR(TRAN_USERTRANSACTIONS.CREATEDAT ,'HH AM')
order by TO_CHAR(dat_azu,'HH AM') asc;
...