0

そのデータを取得する方法:

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

各名前から最高の利益値を取得したいと考えています。同じ名前が複数ある場合は、常に最も高い値を取ります。

4

2 に答える 2

5
select name,max(profit) from table group by name
于 2012-07-21T21:33:38.170 に答える
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;
于 2012-07-21T23:38:53.930 に答える