从select语句中获取不同的行

时间:2014-04-02 20:17:34

标签: sql sql-server

我有一个生成以下输出的select语句。 Select query result

如果查看输出,则很少有行会生成重复的AdjusterIds。 我需要的是只获得重复ID以及其他行的第一行。

我尝试了几个Group By,Distinct等,但没有运气。

请注意,为简单起见,我省略了几个列。

1 个答案:

答案 0 :(得分:1)

您可以使用CTE + ROW_NUMBER

WITH CTE AS
(
    SELECT t.*, RN = ROW_NUMBER() OVER (PARTITION BY AdjusterIds
                                        ORDER BY AdjusterIds)
    FROM dbo.TableName t
)
SELECT * FROM CTE WHERE RN = 1