数据库中如何使用SQL查询连续号码段

数据库中如何使用SQL查询连续号码段,第1张

在ITPUB上有一则非常巧妙的SQL技巧 学习一下 记录在这里

最初的问题是这样的:

我有一个表结构 fphm kshm

(第二个字段内可能是连续的数据 可能存在断点 )

怎样能查询出来这样的结果 查询出连续的记录来 就像下面的这样?

ITPUB上的朋友给出了一个非常巧妙的答案:

SQL>SELECT b fphm MIN (b kshm) Start_HM MAX (b kshm) End_HM FROM (SELECT a * TO_NUMBER (a kshm ROWNUM) cc FROM (SELECT * FROM t ORDER BY fphm kshm) a) b GROUP BY b fphm /

FPHM START_HM END_HM

巧思妙想 就在一念之间 lishixinzhi/Article/program/Oracle/201311/17496

如何查询oracle数据库一个表中的很多条记录是否有重复?重复的判断标准是指定为几个字段中只要有任意的一个字段中有重复就将重复的记录列出来。

Select * From Table1 a

Where Exists (

Select * from Table1

where id=a.id

Group By ID

Having Count(*) > 1 //查出两条以上的记录

)

or:

Select * From Table1

Where id in (

Select id from Table1

Group By ID

Having Count(*) > 1 //查出两条以上的记录

)

or:

Select * From yourtable A

Where (Select count(*) From yourtable Where Field1=A.Field1)>1

or (Select count(*) From yourtable Where Field2=A.Field2)>1

or (Select count(*) From yourtable Where Field3=A.Field3)>1 ...

Order By A.Field1,Field2,Field3 ...


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9635363.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存