【发布时间】:2015-05-06 17:57:33
【问题描述】:
表 1
Id Name
1 xxxxx
1 ccccc
2 uuuuu
3 ddddd
我想选择Id 有多个具有相同Id 的条目的位置
如何做到这一点?
【问题讨论】:
标签: sql sql-server
表 1
Id Name
1 xxxxx
1 ccccc
2 uuuuu
3 ddddd
我想选择Id 有多个具有相同Id 的条目的位置
如何做到这一点?
【问题讨论】:
标签: sql sql-server
您可以找到具有多个条目的ids,然后使用LEFT JOIN/IS NOT NULL 模式从原始表中检索相应的数据:
SELECT t1.*
FROM tbl t1
LEFT JOIN ( SELECT id
FROM tbl
GROUP BY id
HAVING COUNT(*) > 1) t2 ON t1.id = t2.id
WHERE t2.id IS NOT NULL
其他可能的解决方案包括使用EXISTS 或IN 子句代替LEFT JOIN/IS NOT NULL。
【讨论】:
Y as (
select *, count(*) over (partition by id) counter
from X)
select id, name from Y where counter > 1
【讨论】: