统计t_tjsj表中按照 cjsj (date类型)每5分钟统计0点到1点这个一小时内时间段内的数量:
select lpad(floor(to_char(cjsj,'mi')/5)*5,2,0) cjsj, count(bh) num
from t_tjsj where cjsj>to_date('2018-04-15 00:00:00','yyyy-MM-dd hh24:mi:ss')
and cjsj<=to_date('2018-04-15 01:00:00','yyyy-MM-dd hh24:mi:ss')
group by lpad(floor(to_char(cjsj,'mi')/5)*5,2,0)
order by lpad(floor(to_char(cjsj,'mi')/5)*5,2,0) ;
统计预期结果:
cjsj | num |
05 | 111 |
10 | 232 |
15 | 211 |
20 | 12 |
25 | 3214 |
30 | 34 |
35 | 234 |
40 | 454 |
45 | 674 |
50 | 86 |
55 | 35 |
统计t_tjsj表中按照 cjsj (date类型)统计0点到24点一天内每5分钟时间段内的数量:
select to_char(cjsj,'hh24')||':'||lpad(floor(to_char(cjsj,'mi')/5)*5,2,0) cjsj, count(bh) num
from t_tjsj where cjsj>to_date('2018-04-15 00:00:00','yyyy-MM-dd hh24:mi:ss')
and cjsj<=to_date('2018-04-15 01:00:00','yyyy-MM-dd hh24:mi:ss')
group by to_char(cjsj,'hh24')||':'||lpad(floor(to_char(cjsj,'mi')/5)*5,2,0)
order by to_char(cjsj,'hh24')||':'||lpad(floor(to_char(cjsj,'mi')/5)*5,2,0) ;
重点函数:
to_char(cjsj,'hh24') ----时间取小时
lpad(floor(to_char(cjsj,'mi')/5)*5,2,0) --时间取对应的五分钟段
相关推荐
oracle数据库job每隔固定时间执行内容,详细介绍和使用
按10分钟分割时间 统计算法 不需要别的函数,简便易懂
oracle的按月统计sql..............................
主要介绍了Oracle数据库按时间进行分组统计数据的方法,同时附带了一个在不同时间段内的统计实现,需要的朋友可以参考下
Oracle统计一天内每小时的数据量。在某小时内有数据,该时间段会被统计出来;该时间段内没有交易,该时间段不会被统计出来,默认为0即可
Oracle技术_5分钟会用存储过程_存储过程简单实例 包括建表及初始化数据,直接运行就可以用 包含循环、条件、增改查、参数传入、变量赋值、java调用等 http://blog.csdn.net/ooppookid/article/details/41206963
Oracle分组统计
主要介绍了oracle统计时间段内每一天的数据,需要的朋友可以参考下
oracle 根据时间段做报表统计 SQL是时间段统计 SQL原句
ORACLE表空间大小统计语句,比较详细的。。。。
ORACLE 数据库的统计数据及优化
oracle按用户导入导出数据
oracle,按特定字符,截取字符串,直接出结果 oracle,按特定字符,截取字符串,直接出结果oracle,按特定字符,截取字符串,直接出结果
oracle查询表的所有列并用逗号隔开
分享一个自己学习和实践的关于Oracle表自动按月分区知识点,已经在项目上线并且有效的方案。
ORACLE 数据库中如何统计表记录数的过程说明
这是关于oracle10g的统计与说明的函数说明
比如一个字段'11,22,22,33,44',一个查询语句显示成4行,就可以这样来实现。 11 22 22 33 44
文档里包含Oracle 11G统计信息自动收集及调整,可以使用优化数据库性能,不合理的统计信息会影响数据库性能