SQL查询:每季度小时数

时间:2012-05-25 12:03:46

标签: sql oracle date-arithmetic

我有一个包含4列的sql表(id(char),ref(varchar),received(timestamp),sent(timestamp))。 我想根据“收到的”列进行sql查询以获得每小时一小时的引用数。 我已经搜索了一段时间,但在查询中找不到真正的解决方案。 是否有人知道如何做到这一点? 提前谢谢。

亲切的问候,

汤姆

2 个答案:

答案 0 :(得分:2)

您可以使用TRUNCEXTRACT按季度对数据进行分组:

SELECT date_hour, time_quarter_hour, COUNT(*)
  FROM (SELECT TRUNC(your_timestamp, 'hh24') date_hour,
               floor(EXTRACT(MINUTE FROM your_timestamp) / 15) time_quarter_hour
          FROM your_table)
 GROUP BY date_hour, time_quarter_hour

答案 1 :(得分:1)

请参阅下面的尝试。时间戳在这里并不重要,可以是日期。

select 
   trunc(sysdate, 'hh24') + trunc(to_char(sysdate,'mi')/15)*15/1440 
from dual;