Oracle query that count connections by minute with start and end times provided
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle query that count connections by minute with start and end times provided,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1685字,纯文字阅读大概需要3分钟。
内容图文
to_date(‘20150106 00:00:00‘ , ‘yyyy-mm-dd hh24:mi:ss‘) + numtodsinterval (level , ‘minute‘) dt FROM dual CONNECT BY level <= 24 * 60 2、左外连接,条件 dt >= begin and dt < end + 1 3、需要截取t.begin 和 t.end到分钟 对于begin , trunc(begin,‘mi‘) 对于end , trunc(end+ numtodsinterval(1, ‘minute‘),‘mi‘)) // trunc( end + 1 ,[format]) 4、按分钟聚合统计 结果 WITH each_minute AS ( SELECT to_date( ‘20150106 00:00:00‘ , ‘yyyy-mm-dd hh24:mi:ss‘ ) + numtodsinterval (level , ‘minute‘) dt FROM dual CONNECT BY level <= 24 * 60 ) SELECT trunc (em.dt, ‘mi‘) d, count (t.n) cnt FROM each_minute em LEFT OUTER JOIN t ON (em.dt >= trunc (t.b, ‘mi‘) AND em.dt < trunc (t.e+ numtodsinterval (1 , ‘minute‘), ‘mi‘ )) group by trunc(em.dt, ‘mi‘ ) order by 1; 简单测试 SQL> WITH each_minute AS2 (SELECT to_date(‘20150106 00:00:00‘, ‘yyyy-mm-dd hh24:mi:ss‘) +
3 numtodsinterval(level, ‘minute‘) dt
4 FROM dual
5 CONNECT BY level <= 24 * 60)
6 SELECT trunc(em.dt, ‘mi‘) d, count(t.n) cnt
7 FROM each_minute em
8 LEFT OUTER JOIN t
9 ON (em.dt >= trunc(t.b, ‘mi‘) AND
10 em.dt < trunc(t.e + numtodsinterval(1, ‘minute‘), ‘mi‘))
11 where t.n is not null -- no need for 1440,just for test.
12 group by trunc(em.dt, ‘mi‘)
13 order by 1;
D CNT
----------------- ----------
20150106 01:00:00 3
20150106 02:00:00 1
20150106 02:01:00 1
Oracle query that count connections by minute with start and end times provided
标签:
本文系统来源:http://www.cnblogs.com/syksky/p/oracle.html
内容总结
以上是互联网集市为您收集整理的Oracle query that count connections by minute with start and end times provided全部内容,希望文章能够帮你解决Oracle query that count connections by minute with start and end times provided所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。