当前位置:  开发笔记 > 数据库 > 正文

Oracle SQL组行按10分钟的时间间隔计数

如何解决《OracleSQL组行按10分钟的时间间隔计数》经验,为你挑选了1个好方法。

我在oracle中有一个表,其中包含如下数据

created_date的详细信息  
2016年1月1日04:45 abcd  
2016年1月1日04:47 efgh  
2016年1月1日04:53 ijkl  
2016年1月1日04:54 mnop  
2016年1月1日4:58 qrst  

....等等

我希望能够每10分钟计算一次表中的行数

时间计数
04:40 2
04:50 3

创建日期=时间戳,详细信息= varchar

我该怎么办?

谢谢



1> Thorsten Ket..:

您可以使用TO_CHAR和SUBSTR来构建时间字符串:

select
  substr(to_char(created_date, 'hh24:mi'), 1, 4) || '0' as created,
  count(*)
from mytable
group by substr(to_char(created_date, 'hh24:mi'), 1, 4) || '0'
order by substr(to_char(created_date, 'hh24:mi'), 1, 4) || '0';

或使用子查询(派生表),以便只写一次日期表达式:

select created, count(*)
from
(
  select substr(to_char(created_date, 'hh24:mi'), 1, 4) || '0' as created
  from mytable
)
group by created
order by created;

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有