表1
Id Name
1 xxxxx
1 ccccc
2 uuuuu
3 ddddd
我想选择Id
具有相同Id
怎么做?
答案 0 :(得分:3)
您可以找到包含多个条目的id
,然后使用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
。
答案 1 :(得分:0)
Y as (
select *, count(*) over (partition by id) counter
from X)
select id, name from Y where counter > 1