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
2つの引数10、10は(オフセット、制限)であるため、行11〜20を取得します。
9,11 10〜20位を獲得するために必要になります。
offset
クエリを明確にするために使用します。
SELECT name FROM mydb ORDER BY score DESC LIMIT 10 OFFSET 10
Limitにはオフセットパラメータもあります
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;
オフセットを使用できます
mydbから名前を選択するスコアで注文DESCLIMIT10 OFFSET 10
ここで、offsetは、次の10個のデータが表示される場所を示します。
以下を使用することもできます:
mydbORDERBYスコアから名前を選択DESCLIMIT10、10