比较困难的断号查询问题,经过努力已经解决!!(吴艳山)
来源:互联网 发布:淘宝怎么把销量做上去 编辑:程序博客网 时间:2024/06/06 01:00
比较困难的断号查询问题,经过努力已经解决!!
表t,整数字段f,内容如下:
3
4
5
7
8
9
14
15
16
请问如何用较简单的sql语句查询出中间的断号,也就是6,10,11,12,13
这个问题属于无中生有的类型,我在其他论坛上也贴过,但没有比较好的解决方法,
请各位高手帮忙。
经过努力,自己解决了这个问题(此前,绝大多数的方法都是生成一个从最小直到最大值的连续序列过渡表,然后两表关联或利用子查询,查处源表中不存在的值),该方法比较简单也比较巧妙,思路如此:
断号的含义也就是不在源表中的号,但断号肯定是源表中的某个号码加上一个数得到的,也就是说,我第一步需要找到源表中的每一个值加1后(取名为f1)不存在源表序列中的值,然后以此为基础,在源表中找大于f1的最小值(取名f2),那么从f1到f2的值即为断号值,到此解决!!
语句如下:
SELECT f1, (select min(f)-1 from t where f>f1) as f2
FROM
(SELECT f+1 AS f1
FROM t
WHERE f+1 not in (select f from t) and f <(select max(f) from t)
) AS cc;
结果如下:
f1 f2
6 6
10 13
吴艳山
- 比较困难的断号查询问题,经过努力已经解决!!(吴艳山)
- 今天遭遇ORA-12560: TNS: 协议适配器错误的问题,经过一番努力问题已经解决,与大家共享。
- 安装mysql的重重困难--已经解决
- 经过多方努力 解决了ubuntu grub启动的问题 root命令找不到
- 解决困难的方式
- 需努力去解决的问题...
- 困难的串问题
- 解决鼠标经过内部元素触发onmouseout事件的问题
- 解决VMware下centOS 7无法访问网络的问题经过
- 如何解决创业所面对的困难(1)
- 如何解决创业所面对的困难(2)
- 网上计算两个gps点的距离的算法是有问题的!新的计算方法,已经经过验证!!(matlab代码)
- 已经解决MovieClip打印问题 (转帖)
- 一次解决问题的经过
- NP困难问题的理解
- 进入了比较困难的阶段
- 人和人的相处真是比较困难
- 中文分词比较困难的句子
- 成功并不像你想像的那么难
- Velocity学习笔记8——逃逸符
- SQL Server、Oracle纵横谈
- 在Web.config中设置数据库连接字段
- 将asp页面转换成html页面
- 比较困难的断号查询问题,经过努力已经解决!!(吴艳山)
- 将字符串中某一字符串替代成其它的字符
- 服务程序中如何得到当前登陆用户名(ZZ)
- 庆祝blog开通
- 房地产泡沫破裂最危险的后果是大量民工失业(新财经 文/茅于轼 )
- SharePoint Portal Server之常见问题
- 企业里管理所扮演的角色
- 使命重大的微软SQL Server 2005
- 业务驱动的开发