我想展示薪水最高的球员。
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名波什)。
答案 0 :(得分:5)
您不需要MAX
也不需要GROUP BY
,只需将TOP 1
与ORDER BY Salary DESC
一起使用即可。像这样:
select TOP (1) Salary as highest_salary, p.[Last name]
from tbl_PlayersTable as p, tbl_team as t
where p.Team = t.TeamID
and TeamID = 1000
ORDER BY Salary DESC
答案 1 :(得分:1)
您正在对值进行分组(请参阅最后的分组依据),因此您的最大函数计算每组的最大值。如果您想要绝对最大值,请删除分组。
答案 2 :(得分:1)
无需group by
甚至max
:
select top 1 Salary
, [Last name]
from tbl_PlayersTable
where TeamID = 1000
order by
salary desc
答案 3 :(得分:0)
因为您使用了group by p.[Last name]
,所以对于找到的每个不同的max(Salary)
,查询都会获得Last name
。因此,如果您希望获得所有max(Salary)
的{{1}}基础,则必须删除Last name
答案 4 :(得分: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