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
制限にはオフセットパラメータもあります
SELECT name FROM mydb ORDER BY score DESC LIMIT 10,10
offsetを使用できます
名前をmydbから選択ORDER BYスコアDESC LIMIT 10オフセット10
ここでは、offsetは、次の10個のデータが表示される場所を示します。
以下も使用できます:
名前をmydbから選択してくださいORDER BYスコア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;