SQL Utilisez ORDER BY avec TOP pour renvoyer les x premières lignes en fonction de la valeur d'une colonne


Exemple

Dans cet exemple, nous pouvons utiliser GROUP BY non seulement pour déterminer le type des lignes renvoyées, mais également quelles lignes sont renvoyées, car nous utilisons TOP pour limiter le jeu de résultats.

Disons que nous voulons renvoyer les 5 meilleurs utilisateurs de réputation depuis un site de questions / réponses peu connu.

Sans COMMANDE PAR

Cette requête renvoie les 5 premières lignes triées par défaut, qui dans ce cas est "Id", la première colonne de la table (même si ce n'est pas une colonne affichée dans les résultats).

SELECT TOP 5 DisplayName, Reputation
FROM Users

résultats...

Afficher un nom Réputation
Communauté 1
Geoff Dalgas 12567
Jarrod Dixon 11739
Jeff Atwood 37628
Joel Spolsky 25784

Avec ORDER BY

SELECT TOP 5 DisplayName, Reputation
FROM Users
ORDER BY Reputation desc

résultats...

Afficher un nom Réputation
JonSkeet 865023
Darin Dimitrov 661741
BalusC 650237
Hans Passant 625870
Marc Gravell 601636

Remarques

Certaines versions de SQL (telles que MySQL) utilisent une clause LIMIT à la fin d'un SELECT , au lieu de TOP au début, par exemple:

SELECT DisplayName, Reputation
FROM Users
ORDER BY Reputation DESC
LIMIT 5