在oracle中获取每小时之间的数据

时间:2014-10-07 11:33:15

标签: oracle oracle11g oracle10g

我有两个日期字段Start_timeEnd_time,每15分钟有一个条目。我想拉出每小时数据插入的数量。

Start_time                End_time                Records
05-OCT-14 10:00:00 AM   05-OCT-14 10:14:59 AM     10
05-OCT-14 10:15:00 AM   05-OCT-14 10:29:59 AM     20 
05-OCT-14 10:30:00 AM   05-OCT-14 10:44:59 AM     30     
05-OCT-14 10:45:00 AM   05-OCT-14 10:59:59 AM     40
05-OCT-14 11:00:00 AM   05-OCT-14 11:14:59 AM     10
05-OCT-14 11:15:00 AM   05-OCT-14 11:29:59 AM     50
05-OCT-14 11:30:00 AM   05-OCT-14 11:44:59 AM     50
05-OCT-14 11:45:00 AM   05-OCT-14 11:59:59 AM     50

我需要计算有多少记录有10到10:59和11到11.59等。像10.00到10.59计数是100

1 个答案:

答案 0 :(得分:4)

试试这个:

SELECT  sum (record),TRUNC (start_time, 'hh')
FROM your_table
GROUP BY TRUNC (start_time, 'hh');

结果:

COUNT(*)         TRUNC(START_TIME,'HH')
  160              10/5/2014 11:00:00 AM
  100              10/5/2014 10:00:00 AM

此计数行按小时分组。我希望这有帮助