Maison > base de données > tutoriel mysql > Comment récupérer les N dernières lignes de MySQL par ordre croissant ?

Comment récupérer les N dernières lignes de MySQL par ordre croissant ?

Susan Sarandon
Libérer: 2024-12-13 00:17:18
original
308 Les gens l'ont consulté

How to Retrieve the Last N Rows from MySQL in Ascending Order?

Récupération des N dernières lignes de MySQL dans l'ordre ASC

Lorsque vous essayez de récupérer les N dernières lignes d'une base de données MySQL, les classer par ordre croissant peut être délicat. L'ordre DESC standard échoue lorsque les lignes peuvent être manipulées. De même, l'utilisation d'une clause WHERE pour sélectionner des lignes avec des ID supérieurs à l'ID maximum moins N peut échouer si des lignes sont supprimées.

Pour surmonter ces défis, une sous-requête peut être utilisée :

SELECT * FROM
(
 SELECT * FROM table ORDER BY id DESC LIMIT 50
) AS sub
ORDER BY id ASC;
Copier après la connexion

Cette requête sélectionne d'abord les 50 dernières lignes de la table 'table' par ordre décroissant, à l'aide de la clause LIMIT. Le résultat de cette sous-requête est stocké dans la table 'sub'. Enfin, la sous-requête elle-même est classée par ordre croissant par la colonne 'id'.

En utilisant une sous-requête, la sélection des N dernières lignes est isolée du processus de tri. Cela garantit que les N dernières lignes sont toujours sélectionnées, même si des lignes sont ajoutées ou supprimées de la table d'origine. La requête interne de la sous-requête classe les lignes par ordre décroissant, tandis que la requête externe classe le résultat de la sous-requête par ordre croissant.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal