1

年俸の高い選手を表示したい。

select  max(Salary) as highest_salary, p.[Last name]
from tbl_PlayersTable as p, tbl_team as t
where p.Team = t.TeamID
and TeamID = 1000
Group by p.[Last name]

出力は次のとおりです。

highest_salary  Last Name
   8000          Bosh
   7000          Wade
   6000          James

表示したいだけです(8000ボッシュは、彼が最高のサラリーを持つプレーヤーであるため)。

4

5 に答える 5

1

group byまたはさえも必要ありませんmax

select  top 1 Salary
,       [Last name]
from    tbl_PlayersTable
where   TeamID = 1000
order by
        salary desc
于 2013-05-08T07:37:58.090 に答える
1

そこに値をグループ化しているため(最後にグループ化を参照)、最大関数はグループごとの最大値を計算します。絶対最大値が必要な場合は、グループ化を削除してください。

于 2013-05-08T07:27:37.723 に答える
0

上位 1 つの値を取得する必要があります

  select TOP (1) Salary as maxsalary, p.[Last name]
   from tbl_PlayersTable as p 
   Inner join  tbl_team as t on  p.Team = t.TeamID
  where TeamID = 1000
  ORDER BY Salary  DESC
于 2013-05-08T10:05:30.953 に答える