web-dev-qa-db-fra.com

Gamme de limites MySQL

SELECT name FROM mydb ORDER BY score DESC LIMIT 10;

La requête ci-dessus retournera les 10 premiers rangs.

Comment modifier le LIMIT ou peut-être existe une autre syntaxe pour interroger le 10ème rang à travers le 20e rang?

21
theHack

C'est vraiment des trucs de base. Tu devrais utiliser:

SELECT name FROM mydb ORDER BY score DESC LIMIT 10,10;

http://dev.mysql.com/doc/refman/5.5/fr/Select.html

Les deux arguments 10,10 sont (décalage, limite), donc cela récupérera les lignes 11-20.
[.____] 9,11 serait nécessaire pour saisir le 10e - 20e rang.

44
James C

Utilisez offset pour clarifier la requête.

SELECT name FROM mydb ORDER BY score DESC LIMIT 10 OFFSET 10
16
jotapdiez

La limite a également un paramètre de compensation

SELECT name FROM mydb ORDER BY score DESC LIMIT 10,10
5
Nicola Cossu

vous pouvez utiliser offset

[.____] Sélectionnez Nom à partir de MyDB Order par Score Limite de descendance 10 Offset 10 [.____]

ici, Décalage indique que d'où montrera les 10 données suivantes.

[.____] Vous pouvez également utiliser ci-dessous:

 Sélectionnez le nom de la commande MyDB par score La limite de descente 10, 10 [.____]
1
Parvej Ahmed
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;
1
Christo