非常实用的,使用SQL查询连续号码段。(做计费系统或SP的兄弟经常会用到)...
非常实用的,使用SQL查询连续号码段。(做计费系统或SP的兄弟经常会用到)
数据库中如何使用SQL查询连续号码段
在【Database吧】上有一则非常巧妙的SQL技巧,学习一下,记录在这里。
最初的问题是这样的:
我有一个表结构,
fphm,kshm
2014,00000001
2014,00000002
2014,00000003
2014,00000004
2014,00000005
2014,00000007
2014,00000008
2014,00000009
2013,00000120
2013,00000121
2013,00000122
2013,00000124
2013,00000125
(第二个字段内可能是连续的数据,可能存在断点。)
怎样能查询出来这样的结果,查询出连续的记录来。
就像下面的这样?
2014,00000001,00000005
2014,00000009,00000007
2013,00000120,00000122
2013,00000124,00000125
【Database吧】上的朋友给出了一个非常巧妙的答案:
SQL> SELECT b.fphm, MIN (b.kshm) Start_HM, MAX (b.kshm) End_HM
2 FROM (SELECT a.*, TO_NUMBER (a.kshm - ROWNUM) cc
3 FROM (SELECT *
4 FROM t
5 ORDER BY fphm, kshm) a) b
6 GROUP BY b.fphm, b.cc
7 /
FPHM START_HM END_HM
---------- -------- --------
2013 00000120 00000122
2013 00000124 00000125
2014 00000001 00000005
2014 00000007 00000009
巧思妙想,就在一念之间。
非常实用的,使用SQL查询连续号码段。(做计费系统或SP的兄弟经常会用到)...相关推荐
- oracle号码段拆开,学习-SQL查询连续号码段的巧妙解法
学习-SQL查询连续号码段的巧妙解法 在ITPUB上有一则非常巧妙的SQL技巧,学习一下,记录在这里. 最初的问题是这样的:我有一个表结构, fphm,kshm 2014,00000001 2014, ...
- oracle查询号段是否重复,ORACLE SQL: 查询连续号码段并合并的方法
有一个表phonearea,结构如下: province prefix 2014 00000001 2014 00000002 2014 00000003 20 ...
- 学习-SQL查询连续号码段的巧妙解法--转载
原文地址:http://www.eygle.com/archives/2006/09/sql_tips.html 我有一个表结构, fphm,kshm 2014,00000001 2014,00000 ...
- mysql 查询多个号段_数据库中如何使用SQL查询连续号码段(转载)
转自:http://www.poluoluo.com/jzxy/200801/9937.html 在ITPUB上有一则非常巧妙的SQL技巧,学习一下,记录在这里. 最初的问题是这样的: 我有一个表结构 ...
- mysql 查询多个号段_SQL查询连续号码段实现实例
下文将教您在数据库中如何使用SQL查询连续号码段的方法,供您参考,如果您对SQL查询方面感兴趣的话,不妨一看,对您会有所帮助. 有一个表结构, fphm,kshm 2014,00000001 2014 ...
- Mysql中查询连续一段时间内统计数据
Mysql中查询连续一段时间内统计数据 在一次生产环境中遇到统计当前日期的前10天每天的订单量,一开始想到的就是根据日期进行分组统计,但在查询的时候会存在一个问题:有可能某一天没有订单交易,日期分组中 ...
- Hive sql : 查询连续登录天数
查询连续登录天数 1.问题描述 2.在Hive中建表 3.查询最大连续登录天数 1.问题描述 目前有两列数据,分别是用户ID和用户登录的时间,现需要统计用户连续登录的最大天数,中间如有断开,则不算连续 ...
- mysql查询连续三天100以上_一个SQL查询连续三天的流量100以上的数据值【SQql Server】...
题目 有一个商场,每日人流量信息被记录在这三列信息中:序号 (id).日期 (date). 人流量 (people).请编写一个查询语句,找出高峰期时段,要求连续三天及以上,并且每天人流量均不少于10 ...
- sql查询连续3天有交易记录的客户
利用表的自关联查询 表A CUS_ID TXN_DT ID 1 20180101 1 2 20180101 2 3 20180101 3 1 20180102 4 2 20180102 5 2 201 ...
最新文章
- 离开大公司,我才发现世界多残酷
- 基于GPUImage的美颜BeautifyFace详细注释
- DOM-添加元素、节点
- python中dataframe导出文件_使用Python将Pandas DataFrame导出为PDF文件
- 会计记忆总结之三:会计等式与复式记账
- 用友软件工程IT应用研究院
- 基于RAF的一个小动画框
- win2K/win2003终端服务器超出最大允许连接数
- dom4j解析xml的简单实用
- 200个最常见的JAVA面试问题(附答案)
- [Tjoi2016Heoi2016]排序[01序列]
- python数字图像处理(4):图像数据类型及颜色空间转换
- 进程和线程的主要区别
- 学习OpenCV(2)OpenCV初探-2
- 助力Java初级程序员快速成长的营养书单
- 4.1期货每日早盘操作建议
- open judge 1.6.3
- 积水成渊:用github gist收藏你的代码片段
- 网易云音乐热评的规律,44万条数据告诉你
- chm打开秒退_CHM文件打开方式
热门文章
- java 字节流写入_Java之基于字节流文件的写入和读取
- 函数在区间连续可以推出什么_A-22 函数的点连续、单侧连续、区间连续
- 计算机文字录入教案,《文字录入》(1-4)教案.doc
- php资源文件html,nginx 同一域名下分目录配置显示php,html,资源文件
- python编译so_Mac上把python源文件编译成so文件
- eclipse输入中文乱码,问题已解决
- mysql显示nan_Python将dataframe连接到MySQL时出现NaN[mysqlconnector]
- c# 对象json互相转换_Go语言进阶之路(六):内置JSON库和开源库gjson
- 20200920:leetcode35周双周赛题解(上)
- 20190910:(leetcode习题)FizzBuzz