我有一个我为了我们的目的而简化的查询。你是如何实现这一结果的?
ID OrigId
----------
1 1
2 1
3 3
4 4
5 4
6 6
Result
ID OrigId
----------
1 1
2 1
4 4
5 4
答案 0 :(得分:4)
要在表格中多次显示相应OrigId
出现的所有行,您可以使用
;WITH CTE AS
(
SELECT *,
COUNT(*) OVER (PARTITION BY OrigId) AS C
FROM YourTable
)
SELECT ID,
OrigId
FROM CTE
WHERE C >1
答案 1 :(得分:3)
您可以使用HAVING语句
SELECT *
FROM dbo.Table
WHERE OrigID IN
(
SELECT OrigID
FROM dbo.Table
GROUP BY OrigID
HAVING COUNT(*) > 1
)
答案 2 :(得分:0)
select *
from selecttest
where origid in
(
select origid
from selecttest
group by origid
having COUNT(*) > 1
)