使用Oracle SQL按小时分组

时间:2017-03-03 19:20:48

标签: oracle

我有一个varchar5列,时间来自

00:00
00:01
00:02
00:03

... all the way to 
23:59

我如何计算一小时内的分钟数?得到结果

00 60
01 60
02 60
and so on...

SQL:

select 24_HOUR_CLOCK
From time table
Group by ...
Order by 24_HOUR_CLOCK ASC

计算记录的方法

1 个答案:

答案 0 :(得分:1)

我认为您可以使用substr从时间字符串和组中提取前两个字符。

select substr(col, 1, 2) hour, count(*) minutes
from your_table
group by substr(col, 1, 2)
order by hour

或在@Mathguy建议的子查询中找到substr:

select hour,
    count(*) minutes
from (
    select substr(col, 1, 2) hour
    from your_table
    )
group by hour
order by hour