书写sql案例
来源:互联网 发布:一键制作rez源码 编辑:程序博客网 时间:2024/06/17 06:49
![](file:///C:/Users/lenovo/AppData/Local/Temp/enhtmlclip/Image(4).png)
SELECTCOUNT(*)CNT_CS,SUM(CNT_HOUR)BB_SC FROM (
SELECTHOURDIF,COUNT(*)CNT_HOURFROM (
SELECTROUND((TO_DATE(ATIMEPOINT,'YYYY-MM-DD HH24:MI:SS')- TO_DATE(BTIMEPOINT,'YYYY-MM-DD HH24:MI:SS'))* 24 - ROWNUM)HOURDIF
FROM(
SELECTTIMEPOINT ATIMEPOINT,(SELECTTIMEPOINTfrom AIR_CITYHOURAQI_PUBLISH BWHERE ROWNUM = 1)BTIMEPOINT
FROMAIR_CITYHOURAQI_PUBLISH A
WHERETO_DATE(TIMEPOINT,'YYYY-MM-DD HH24:MI:SS')>= TO_DATE('2017-05-23 12:00:00','YYYY-MM-DD HH24:MI:SS')
ANDTO_DATE(TIMEPOINT,'YYYY-MM-DD HH24:MI:SS')<= TO_DATE('2017-05-24 6:00:00','YYYY-MM-DD HH24:MI:SS')
))GROUP BY HOURDIFHAVING COUNT(HOURDIF)> 1
)
上面的CNT_CS显示的是连续的次数,BB_SC显示的是时长(就是上面连续的时间减去后相加的结果)
获取内容和行号的语句:
SELECTHOURDIF,ROWNUMFROM (
SELECTHOURDIF FROM (
SELECTROUND((TO_DATE(ATIMEPOINT,'YYYY-MM-DD HH24:MI:SS')- TO_DATE(BTIMEPOINT,'YYYY-MM-DD HH24:MI:SS'))* 24 - ROWNUM)HOURDIF
FROM(
SELECTTIMEPOINT ATIMEPOINT,(SELECTTIMEPOINT FROM AIR_CITYHOURAQI_PUBLISH B WHERE ROWNUM = 1)BTIMEPOINT
FROMAIR_CITYHOURAQI_PUBLISH A
WHERETO_DATE(TIMEPOINT,'YYYY-MM-DD HH24:MI:SS')>= TO_DATE('2017-05-23 12:00:00','YYYY-MM-DD HH24:MI:SS')
ANDTO_DATE(TIMEPOINT,'YYYY-MM-DD HH24:MI:SS')<= TO_DATE('2017-05-24 6:00:00','YYYY-MM-DD HH24:MI:SS')
))
GROUPBY HOURDIF
HAVINGCOUNT(HOURDIF)> 1
ORDERBY HOURDIF
)
![](file:///C:/Users/lenovo/AppData/Local/Temp/enhtmlclip/Image(5).png)
获取行号的两种方式
SELECTHOURDIF,ROW_NUMBER()OVER (ORDERBY C.HOURDIFASC)AS RN
FROM(
SELECTHOURDIF
FROM(
SELECTROUND((TO_DATE(ATIMEPOINT,'YYYY-MM-DD HH24:MI:SS')- TO_DATE(BTIMEPOINT,'YYYY-MM-DD HH24:MI:SS'))* 24 - ROWNUM)HOURDIF
FROM(
SELECTTIMEPOINT ATIMEPOINT,(SELECTTIMEPOINTFROM AIR_CITYHOURAQI_PUBLISH BWHERE ROWNUM = 1)BTIMEPOINT
FROMAIR_CITYHOURAQI_PUBLISH A
WHERETO_DATE(TIMEPOINT,'YYYY-MM-DD HH24:MI:SS')>= TO_DATE('2017-05-23 12:00:00','YYYY-MM-DD HH24:MI:SS')
ANDTO_DATE(TIMEPOINT,'YYYY-MM-DD HH24:MI:SS')<= TO_DATE('2017-05-24 6:00:00','YYYY-MM-DD HH24:MI:SS')
))
GROUPBY HOURDIF
HAVINGCOUNT(HOURDIF)> 1
ORDERBY HOURDIF
)C
![](file:///C:/Users/lenovo/AppData/Local/Temp/enhtmlclip/Image(6).png)
ROW_NUMBER()OVER (PARTITIONBY C.HOURDIF ORDERBY C.HOURDIF ASC)AS RN
注意上面的PARTITIONBY C.HOURDIF的话就是先按照C.HOURDIF分组再进行ORDERBY排序这样RN列显示的都是1了
阅读全文
0 0
- 书写sql案例
- mybatis中的配置文件书写案例
- SQL书写规范
- 常用SQL书写技巧
- SQL语句书写技巧
- sql书写规则
- 累加sql的书写
- SQL书写规范
- SQL语句书写格式
- SQL书写规范
- 怎么样书写SQL
- 我是如何书写SQL
- sql书写规则
- 书写简易SQL
- oracle sql书写规范
- Sql 书写技巧1
- SQL书写规范
- SQL书写规范
- Fiddler 抓包工具总结
- 关于python的文件操作小结
- 【PGPortfolio】初期使用调试指南
- 大话水声通信技术---(理论篇)
- 数据结构实验7 建立邻接表
- 书写sql案例
- git使用
- mysql 安装初始化 Neither host nor 'localhost' could be looked up
- MQ消息架构设计五(58到家MQ如何快速实现流量削峰填谷)
- ssm框架整合配置---web.xml,傻傻分不清楚
- JavaWeb笔记之快速了解网络协议
- 代码重构-常量相关
- java反射加载类,并转化为DataFrame
- Hive的用户和用户权限