SQL中唯一行的聚合
我有下表中的唯一行:SQL中唯一行的聚合,sql,sql-server,Sql,Sql Server,我有下表中的唯一行: Name change Number_of_Sales Soby 2.22 8370 Sollerod -1.06 11287 Sonderborg 2.60 6343 Sonderhald 11.43 1623 Sonderhald 10.93 2098 我想选择name和change,排除重复的名称,这样Sonderhald只出现一次。我想要销售数量最大的Sonderhald 如何在SQL Server
Name change Number_of_Sales
Soby 2.22 8370
Sollerod -1.06 11287
Sonderborg 2.60 6343
Sonderhald 11.43 1623
Sonderhald 10.93 2098
我想选择name
和change
,排除重复的名称,这样Sonderhald只出现一次。我想要销售数量最大的Sonderhald
如何在SQL Server中执行此操作
谢谢您可以使用通用表表达式来执行此操作:
;
WITH cte
AS ( SELECT Name,
Change,
Number_of_Sales,
ROW_NUMBER() OVER ( PARTITION BY name ORDER BY number_of_sales DESC ) AS RowNum
FROM your_table
)
SELECT Name,
Change,
Number_of_Sales
FROM cte
WHERE RowNum = 1
;
WITH cte
AS ( SELECT Name,
Change,
Number_of_Sales,
ROW_NUMBER() OVER ( PARTITION BY name ORDER BY number_of_sales DESC ) AS RowNum
FROM your_table
)
SELECT Name,
Change,
Number_of_Sales
FROM cte
WHERE RowNum = 1