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

在oracle中获取每小时之间的计数数据,oracle,oracle11g,oracle10g,Oracle,Oracle11g,Oracle10g,我有两个日期字段Start\u time和End\u 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

我有两个日期字段
Start\u time
End\u 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

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
这将按小时对分组的行进行计数。我希望这能有所帮助

试试这个:

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

这将按小时对分组的行进行计数。我希望这有助于

您要统计哪一条数据?我需要统计有多少条记录是10到10:59和11到11.59等。您要统计哪一条数据?我需要统计有多少条记录是10到10:59和11到11.59等。如您所见,第一行是11.00到11.59之间的计数,第二行是11到11.59之间的计数10.00到10.59也许我们可以添加TRUNC(开始时间+1/24,'HH')-1/86400来获得结束时间。正如您所看到的,第一行是11.00到11.59之间的计数,第二行是10.00到10.59之间的计数。也许我们可以添加TRUNC(开始时间+1/24,'HH')-1/86400来获得结束时间。