查询以返回SQL中列的第一个结果?

问题描述 投票:0回答:1

在SQL中,有没有一种简单的方法来返回包含一列中值的顶部实例的所有行?

给出下表...

Size    Color    Price
S       Red      2
S       Green    43
S       Blue     5
M       Olive    3
M       Black    6
M       Orange   3
L       Purple   98
L       Red      4
L       Blue     9

我想回来...

Size    Color    Price
S       Red      2
M       Olive    3
L       Purple   98
sql sql-server ssms
1个回答
0
投票

您可以尝试使用递归CTE函数和ROW_NUMBER(),以实现此目的:

;WITH CTE AS(
    SELECT myTable.*
    , RN = ROW_NUMBER()OVER(PARTITION BY Size ORDER BY ID)
    FROM myTable 
)
SELECT * FROM CTE
WHERE RN = 1
© www.soinside.com 2019 - 2024. All rights reserved.