ITPUB??ì3
新一届的微软MVP评选已经开始,欢迎各位推荐!
ITPUB论坛 » Oracle数据库管理 » 请教查询语句的写法?

标题: 请教查询语句的写法?
离线 hhd_1976
中级会员


精华贴数 0
个人空间 0
技术积分 524 (3691)
社区积分 0 (106830)
注册日期 2004-2-20
论坛徽章:1
授权会员     
      

发表于 2005-10-12 12:24 
请教查询语句的写法?

table T,列:serial_no
我想能够查询一下serial_no这个字段的不连续的值。
例如:
serial_no
1
2
3
4
6
8
9
10
我想一个sql语句查出来缺失的号码,
显示结果为:
5
7


只看该作者    顶部
离线 wwwyao
中级会员


精华贴数 0
个人空间 0
技术积分 266 (7338)
社区积分 56 (4612)
注册日期 2005-5-27
论坛徽章:1
授权会员     
      

发表于 2005-10-12 12:48 
再建一個表﹐給它連續的值﹗
兩個表一連接就實現了﹗


__________________
oooO.............(....)... Oooo...生活的激流...(.....(.....)...能推你前進,.._)..... )../....也能將.......... (_/......你oooO...............打沉!(....)... Oooo......(.....(.....)...也能帶.._)..... )../....你走向.......... (_/.....光明!
只看该作者    顶部
离线 seven_zhai
恋家的男人


精华贴数 0
个人空间 0
技术积分 1667 (1013)
社区积分 530 (1357)
注册日期 2004-6-4
论坛徽章:6
会员2006贡献徽章授权会员2008北京奥运纪念徽章:艺术体操2008北京奥运纪念徽章:棒球2008北京奥运纪念徽章:帆船开发板块每日发贴之星
      

发表于 2005-10-12 12:54 


QUOTE:
最初由 wwwyao 发布
再建一個表﹐給它連續的值﹗
兩個表一連接就實現了﹗


同意,只要找到找到在新表中的ID在旧表中没有的就可以了


__________________
昨夜西风凋碧树。独上高楼,望尽天涯路。衣带渐宽终不悔,为伊消得人憔悴。众里寻他千百度,蓦然回首,那人却在灯火阑珊处。MAIL:sevenanny_zhai@126.com MSN:seven.zhai@hotmail.com友情链接:My private spaces
只看该作者    顶部
离线 hhd_1976
中级会员


精华贴数 0
个人空间 0
技术积分 524 (3691)
社区积分 0 (106830)
注册日期 2004-2-20
论坛徽章:1
授权会员     
      

发表于 2005-10-12 12:57 
表很大,不能建立另外一个表!


只看该作者    顶部
离线 hhd_1976
中级会员


精华贴数 0
个人空间 0
技术积分 524 (3691)
社区积分 0 (106830)
注册日期 2004-2-20
论坛徽章:1
授权会员     
      

发表于 2005-10-12 13:03 
这个表里还有其他的字段,这个序号是依托与这些字段联合组成的主键,这个字段本身是能够重复的。而且这个表是一个流水表,数据量在千万级别,所以只想采用一个语句能够查询出来不连续的也就是丢失的纪录。谢谢


只看该作者    顶部
离线 rollingpig
版主


精华贴数 5
个人空间 103
技术积分 26973 (30)
社区积分 1739 (660)
注册日期 2001-10-18
论坛徽章:12
现任管理团队成员2006年度最佳技术回答会员2007贡献徽章2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:柔道 
      

发表于 2005-10-12 13:10 
cursor吧!


__________________
欢迎访问乐恒的空间
提问的智慧Oracle版
0。尝试在google,论坛,metalink,online document里搜索。
1。写清楚你的执行log,报错信息,写清楚DB version , OS
2。Instance 方面的问题,请贴出alertlog
3。network的问题,贴出server的listener.ora , sqlnet.ora 并运行lsnrctl service, 贴出client的tnsnames.ora , sqlnet.ora ,并运行tnsping
4。DB总体性能问题,请于peak time做statspack,并上传statspack report。同时附上CPU/MEM配置,以及CPU IDLE/free menory的情况
5。SQL性能问题,列出当前SQL,以及PLAN。同时应提供表结构,index情况,Table的record数。CBO/RBO,table是否analyze等信息。
6。确保你的问题是Oracle相关。
提问的智慧 for Oracle[展开版]
欢迎访问乐恒的空间
只看该作者    顶部
离线 warehouse
自由职业



来自 大连
精华贴数 3
个人空间 0
技术积分 18079 (51)
社区积分 720 (1142)
注册日期 2002-8-16
论坛徽章:53
现任管理团队成员红宝石海蓝宝石祖母绿2008北京奥运纪念徽章:自行车2008北京奥运纪念徽章:跳水
BLOG每日发帖之星     

发表于 2005-10-12 13:17 


QUOTE:
最初由 hhd_1976 发布
表很大,不能建立另外一个表!

不用创建一个表,再增加一个字段怎么样?


__________________
只看该作者    顶部
离线 mychary
高级会员



来自 合肥
精华贴数 0
个人空间 0
技术积分 6930 (184)
社区积分 161 (2655)
注册日期 2003-9-18
论坛徽章:10
ITPUB元老会员2007贡献徽章会员2006贡献徽章授权会员生肖徽章2007版:马2008北京奥运纪念徽章:柔道
2008北京奥运纪念徽章:花样游泳数据库板块每日发贴之星数据库板块每日发贴之星数据库板块每日发贴之星  

发表于 2005-10-12 13:20 


QUOTE:
最初由 warehouse 发布


不用创建一个表,再增加一个字段怎么样?


增加一个字段也是没有用的呀


只看该作者    顶部
离线 warehouse
自由职业



来自 大连
精华贴数 3
个人空间 0
技术积分 18079 (51)
社区积分 720 (1142)
注册日期 2002-8-16
论坛徽章:53
现任管理团队成员红宝石海蓝宝石祖母绿2008北京奥运纪念徽章:自行车2008北京奥运纪念徽章:跳水
BLOG每日发帖之星     

发表于 2005-10-12 13:26 


QUOTE:
最初由 mychary 发布

增加一个字段也是没有用的呀


呵呵,是啊,我也发现增加字段是不行的!


__________________
只看该作者    顶部
离线 rollingpig
版主


精华贴数 5
个人空间 103
技术积分 26973 (30)
社区积分 1739 (660)
注册日期 2001-10-18
论坛徽章:12
现任管理团队成员2006年度最佳技术回答会员2007贡献徽章2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:柔道 
      

发表于 2005-10-12 13:35 
Cool!!!!!!!!
原来可以这么解的
PHP code:


SELECT   
/*+ordered */

         
T2.serial_no 1MIN (t3.serial_no) - 1

    FROM T T1
T T2T t3

   WHERE T1
.serial_no(+) = (T2.serial_no 1) AND T1.serial_no IS NULL

         
AND t3.serial_no T2.serial_no

GROUP BY T2
.serial_no









解决思路:
1。用not exists /not in  ,条件 : t1.serial_no = t2.serial_no + 1

2。参考http://www.itpub.net/406784.html , 将not exists /not in  改为outer join + is null 格式

3。加上 min 条件,确定上下限

有空再列出详细步骤


__________________
欢迎访问乐恒的空间
提问的智慧Oracle版
0。尝试在google,论坛,metalink,online document里搜索。
1。写清楚你的执行log,报错信息,写清楚DB version , OS
2。Instance 方面的问题,请贴出alertlog
3。network的问题,贴出server的listener.ora , sqlnet.ora 并运行lsnrctl service, 贴出client的tnsnames.ora , sqlnet.ora ,并运行tnsping
4。DB总体性能问题,请于peak time做statspack,并上传statspack report。同时附上CPU/MEM配置,以及CPU IDLE/free menory的情况
5。SQL性能问题,列出当前SQL,以及PLAN。同时应提供表结构,index情况,Table的record数。CBO/RBO,table是否analyze等信息。
6。确保你的问题是Oracle相关。
提问的智慧 for Oracle[展开版]
欢迎访问乐恒的空间
只看该作者    顶部
相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问