SELECT name FROM mydb ORDER BY score DESC LIMIT 10;
上面的查询将返回前10个排名。
如何修改LIMIT
,或者是否有另一种语法来查询排名第10的排名?
答案 0 :(得分:34)
这是非常基本的东西。你应该使用:
SELECT name FROM mydb ORDER BY score DESC LIMIT 10,10;
http://dev.mysql.com/doc/refman/5.5/en/select.html
两个参数10,10是(偏移,限制),因此这将检索行11-20 9,11将需要获得10-20级。
答案 1 :(得分:13)
使用offset
来澄清查询。
SELECT name FROM mydb ORDER BY score DESC LIMIT 10 OFFSET 10
答案 2 :(得分:3)
限制还有一个偏移参数
SELECT name FROM mydb ORDER BY score DESC LIMIT 10,10
答案 3 :(得分:1)
SET @rank = 0;
SELECT rank, name, score
FROM (
SELECT @rank := @rank +1 AS rank, name, score
FROM mydb
ORDER BY score DESC
LIMIT 100
) X
WHERE rank >= 10;
答案 4 :(得分:1)
您可以使用偏移
SELECT name FROM mydb ORDER BY score DESC LIMIT 10 OFFSET 10
此处,偏移表示将显示下一个10个数据的位置。
您也可以使用以下内容:
SELECT name FROM mydb ORDER BY score DESC LIMIT 10, 10