首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

反复筛选

2012-12-17 
重复筛选本帖最后由 lailai410 于 2012-11-20 16:40:38 编辑我想筛选出每一单,有ID重复的单号。请问怎么筛

重复筛选
本帖最后由 lailai410 于 2012-11-20 16:40:38 编辑 我想筛选出每一单,有ID重复的单号。请问怎么筛选

--例如:

单号                ID
6921109062192    H123456
6921109062192    H123456
6921109062321    FW082679020506
6921109062321    FW072490010006
6921109063045    989419310173021242
6921109063045    PZ800946035000
DX123456    88997766
DX123456            88997766


[最优解释]
我拿了两个数据来测了一下,应该没问题了

WITH    huang ( 单号, ID )
          AS ( SELECT   '6921109062192' ,
                        'H123456'
               UNION ALL
               SELECT   '6921109062192' ,
                        'H123456'
               UNION ALL
               SELECT   '6921109062321' ,
                        'FW082679020506'
               UNION ALL
               SELECT   '6921109062321' ,
                        'FW072490010006'
             ),
        huang2
          AS ( SELECT   ROW_NUMBER() OVER ( PARTITION BY 单号, ID ORDER BY 单号 ) rid ,
                        *
               FROM     huang
             )
    SELECT  *
    FROM    huang2
    WHERE   rid > 1

[其他解释]
select distinct 单号
from TB
where ID in (select ID from TB group by ID having COUNT(1)>1)
[其他解释]
按照那个,还是有ID没有重复的数据出来了
[其他解释]
SELECT  *
FROM    ( SELECT    ROW_NUMBER() OVER ( ORDER BY 单号 ) id ,


                    *
          FROM      ( SELECT DISTINCT
                                单号 ,
                                id
                      FROM      TB
                    ) b
        ) c
WHERE   id > 1


[其他解释]

select 单号 from tb group by 单号
having count(id)>1

[其他解释]

select 单号 from tb group by 单号,id having count(id)>1

[其他解释]
select * from tb where id=(select  id from tb group by id having count(1)>1)
[其他解释]
3楼的兄弟,你的也不行
[其他解释]
你的表只有两列?
[其他解释]
是啊,我的表只有2列,就是明细表

单号必然重复。就是要查询这个单号里面,货号是不是有重复的
[其他解释]
10楼这个可以用!谢谢

热点排行
Bad Request.