SELECT name FROM mydb ORDER BY score DESC LIMIT 10;
上面的查询将返回前 10 个等级。
如何修改LIMIT
,或者是否有另一种语法来查询第 10 位到第 20 位?
你应该使用:
SELECT name FROM mydb ORDER BY score DESC LIMIT 10,10;
http://dev.mysql.com/doc/refman/5.5/en/select.html
两个参数 10,10 是 (Offset, Limit),因此这将检索第 11-20 行。
需要 9,11 才能获得第 10 - 20 位。
用于offset
澄清查询。
SELECT name FROM mydb ORDER BY score DESC LIMIT 10 OFFSET 10
Limit 还有一个 offset 参数
SELECT name FROM mydb ORDER BY score DESC LIMIT 10,10
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;
你可以使用偏移量
SELECT name FROM mydb ORDER BY score DESC LIMIT 10 OFFSET 10
这里,offset表示接下来 10 个数据将从哪里显示。
你也可以在下面使用:
SELECT name FROM mydb ORDER BY score DESC LIMIT 10, 10