使用SQL基于某个寄存器获取前10项

时间:2014-02-18 17:08:24

标签: mysql sql greatest-n-per-group

使用:MYSQL

所以,我有这个问题。我有一个名为tblUser的表,这个表有一个级别列,所以我需要获得一个用户的级别,例如,


id:1     用户:Pancho Villa
    等级:15。

所以我需要更多9级注册,他的级别低于他,我不知道如何...所以,这是一个例子,我得到Pancho Villa的ID:

id: 1
User: Pancho Villa  
Level: 15  

id: 25
User: Emiliano Zapata  
Level: 15

id: 14
User: Porfirio Díaz   
Level: 14

id: 7
User: Subcomandante Marcos<br>
Level: 13

&安培;还有6个结果

2 个答案:

答案 0 :(得分:1)

尝试这样的事情:

select `User`,`Level` from tblUser where `Level` <= 15 Order by `Level` DESC

答案 1 :(得分:0)

试试这个SQL

SELECT user,level
FROM tblUser
WHERE level <= (
    SELECT level
    From tblUser
    WHERE user = 'Pancho Villa'
)
AND user != 'Pancho Villa'
ORDER BY level DESC
LIMIT 9