如何检索该数据:
Name Title Profit
Peter CEO 2
Robert A.D 3
Michael Vice 5
Peter CEO 4
Robert Admin 5
Robert CEO 13
Adrin Promotion 8
Michael Vice 21
Peter CEO 3
Robert Admin 15
得到这个:
Peter........4
Robert.......15
Michael......21
Adrin........8
我想从每个名字中获得最高的利润值。 如果有多个相同的名称,则始终取最高值。
答案 0 :(得分:5)
select name,max(profit) from table group by name
答案 1 :(得分:2)
由于这种类型的请求几乎总是跟着“现在可以包含标题吗?” - 这是一个查询,每个名称获得最高利润,但可以包括所有其他列,而无需将任意聚合分组或应用于其他列:
;WITH x AS
(
SELECT Name, Title, Profit, rn = ROW_NUMBER()
OVER (PARTITION BY Name ORDER BY Profit DESC)
FROM dbo.table
)
SELECT Name, Title, Profit
FROM x
WHERE rn = 1;