选择最有经验的人

时间:2013-04-30 08:49:21

标签: sql oracle top-n

我必须制作一个篮球运动员表和一个查询,找到我尝试过的经验最丰富的球员

SELECT firstName, lastName, MAX(experience) FROM Player

但我认为那是错的。

所以基本上我想找到经验最丰富的玩家(数据类型设置为INT)

谢谢!! :d

7 个答案:

答案 0 :(得分:4)

SELECT  firstName, 
        lastName, 
        experience
FROM    Player
WHERE   experience = (SELECT MAX(experience) FROM Player)

答案 1 :(得分:1)

SELECT  * FROM Player
WHERE experience = 
(SELECT max(experience) FROM Player)

答案 2 :(得分:1)

select top 1 firstName, lastName, experience
from Player
order by experience desc;

答案 3 :(得分:0)

select firstName, lastName, experience
from Player
where rownum = 1
order by experience desc;

答案 4 :(得分:0)

正确的查询是:

Select FirstName, LastName, Experience as Experience_Player
from Player
where experience = (Select MAX(experience) from Player)

假设您有以下数据:

FirstName                     LastName               Experience  
Adam                          Smit                   15  
John                          Carlos                 25  
Ibrahim                       Khan                   10  

当您申请上述查询时,您将获得Ibrahim Khan的名字,因为他是最有经验的玩家。

如果您希望让多名玩家获得超过10年的经验,只需运行此查询

Select FirstName, LastName, experience 
from Players
where experience > 10

答案 5 :(得分:0)

SELECT FIRSTNAME,LASTNAME,EXPERIENCE FROM (SELECT FIRSTNAME,LASTNAME,EXPERIENCE,DENSE_RANK() OVER (ORDER BY EXPERIENCE DESC) EXP FROM PLAYER) WHERE EXP=1;

答案 6 :(得分:-2)

select * from (
  select firstname, lastName, experience from player
  order by experience desc)
where rownum = 1