ORCLE 查询一段时间(时间点不定,时差确定)内符合一定条件的数据
来源:互联网 发布:怎么网络推广 编辑:程序博客网 时间:2024/04/30 13:10
应用场景:
例如:银行需要监控柜员们操作,在一天中,如果同一柜员半小时内办理业务的数量超过了五条,则视为涉嫌违规操作,咋看貌似很简单,但细细一分析,好像也不是那么容易,因为只知道时间差为半小时,没有一个具体基准时间作标准.........废话不多说,直接上我的分析和SQL语句。
1:按添加数据时的时间排序(正序)增加一列自增序列
2:根据序列自关联查询任意两条数据插入间隔差为5的数据,组成一个新表
3:根据生成的这个新表,查询出时间间隔差大于30分钟的数据
4:查时间间隔差大于30分钟的数据的总数
5:现在就可以根据总数是否大于0判断柜员是否有违规操作了,OK,大功告成!想得比较简单,不知道对大量数据场景下查询效率如何
最终语句:
select count(xulie1) from (
select c1.xulie xulie1,c1.ctime ctime1,c2.xulie xulie2,c2.ctime ctime2 from
(select Row_Number() over ( order by ctime ) as xulie , t.ctime from ceshi t) c1 left join
(select Row_Number() over ( order by ctime ) as xulie , t.ctime from ceshi t) c2 on
c1.xulie + 4 = c2.xulie) t2
where t2.ctime2 - ctime1 > 30/(24*60)
(附:本人小白,刚入行,正尝试写博客,如内容有错误、不规范或需要优化的地方,或有其他解决方法,希望各路大神们指点指点,谢谢!!!)
具体步骤如下:
1:测试所用原始表数据
2:按时间排序(正序)增加序列
3:根据序列自关联查询任意两条数据插入间隔差为5的数据,组成一个新表
4:根据生成的这个新表,查询出时间间隔差大于30分钟的数据
5:查时间间隔差大于30分钟的数据的总数
- ORCLE 查询一段时间(时间点不定,时差确定)内符合一定条件的数据
- DataTable中查询符合条件的数据
- SQL通过经度和纬度(已知的一个点)来查询方圆4km内符合条件的信息
- SSRS-查询条件为空,查询所有数据,否者查询符合条件的数据 解决办法
- jdbc获取符合查询条件的记录数据---ResultSet
- SQL----多张表连接查询,只查出符合条件的数据
- mysql随机查询出一条 符合条件的数据
- MyBatis查询一定时间数据
- java读取二进制文件,并且用二分查找安装一定的规则查找符合条件的数据列
- orcle中时间段数据的查询
- Yii: 查询符合条件的记录个数
- 查询符合条件的 sql agent job
- 查询是否有符合条件的Activity
- JavaWeb不定条件查询
- JavaWeb不定条件查询
- LINQ批量删除符合条件的数据
- 如何获取符合条件的数据
- LINQ批量删除符合条件的数据
- 新浪短网址API接口
- Java编程之反射中的注解详解
- Caused by: org.yaml.snakeyaml.scanner.ScannerException: while scanning for the next token found char
- Use powershell config network
- SQLyog 激活 注册码
- ORCLE 查询一段时间(时间点不定,时差确定)内符合一定条件的数据
- Spring:IOC—控制反转(3)
- MFC自定义控件
- 解决:ERROR: Exception when publishing, exception message [Exec exit status not zero. Status [-1]]
- 卷积神经网络CNN知识点
- 解决solr4.10.3在solrhome下添加多个solrcore遇到的问题总结
- XML学习---利用Java对XML文档的增、删、改、查
- Android.mk介绍(一)
- select onChange事件