#sql #oracle-sqldeveloper #truncate
Вопрос:
Я использую следующий запрос, чтобы мои данные подсчитывались ежечасно:
select to_char(trunc(time, 'HH'), 'DD/MM/YY HH24') as "date",
count(event), count(distinct id) from source
where time >= date '2021-01-01'
group by trunc(time,'HH')
order by trunc(time,'HH');
То, что я сейчас хочу сделать, — это то же самое, но на минутной основе. Как я могу это сделать?
Ответ №1:
По-моему, вы могли бы trunc
полностью избежать, так как вы TO_CHAR
все равно используете:
select to_char(time, 'dd/mm/yy hh24') ...
Если вы хотите включить минуты, никаких проблем:
select to_char(time, 'dd/mm/yy hh24:mi') as "date",
count(event), count(distinct id)
from source
where ...
group by to_char(time, 'dd/mm/yy hh24:mi')
Обратите внимание, что сортировка по строкам, вероятно, не даст желаемых результатов. Возможно, если бы вы изменили формат даты, например, на 'yyyymmdd hh24:mi'
Комментарии:
1. Большое вам спасибо 🙂