2010-06-05 8 views

Répondre

7

Pour obtenir le dernier numéro x de lignes, mais les ont retournés dans l'ordre croissant, utilisez:

SELECT x.value 
    FROM (SELECT y.value 
      FROM TABLE y 
     ORDER BY y.value DESC 
      LIMIT 4) x 
ORDER BY x.value 

La réponse nécessite que vous créez une table dérivée (AKA vue en ligne) sur la base sur les lignes que vous voulez. Ensuite, la requête externe réorganise les valeurs pour la présentation.

5
SELECT * FROM tablename ORDER BY id DESC LIMIT 0,4 

vous donnera les 4 derniers enregistrements (« dernier » lorsque vous commandez la table par id qui est supposé être un champ auto-incrémenté ici.)

+0

J'ai besoin que les résultats d'ensemble d'enregistrements soient dans l'ordre ASCENDANT. Que faire? –

+0

@PHP En fait, je ne connais pas de solution qui n'a pas besoin de compter le nombre de lignes en premier dans une opération séparée. Ce serait alors par exemple être 'SELECT * FROM table ORDER BY id LIMIT 656,4' quand il a 660 lignes. –

+0

c'est ok, merci pour votre réponse. –

0

Si vous avez comment il y a toujours 6 lignes, vous pouvez utiliser la limite.

SELECT * FROM Tabel LIMIT 2, 4 
Questions connexes