Comment obtenir le classement et l'effet de pagination frontale

Dans l'article précédent, nous avons expliqué comment utiliser la clause ORDER BY pour trier les résultats de la requête.

Après avoir trié les données, elles peuvent être traitées ultérieurement. Nous voyons souvent divers classements Top-N, tels que les dix meilleurs succès, les classements de films et les classements de jeux. De plus, lors de l'affichage des données sur le client, il ne s'agit généralement pas de lister tous les résultats à la fois, mais d'afficher N (10, 20, 50, etc.) enregistrements à la fois; puis de fournir «page suivante», «page précédente» et autres pages tournantes Caractéristiques. Dans cet article, nous verrons comment utiliser les instructions SQL pour réaliser les deux fonctions courantes ci-dessus.

Classement Top-N

Le principe du classement Top-N est de trier d'abord, puis de revenir aux N premiers enregistrements . Le diagramme schématique du processus est le suivant:

avatar

Il existe deux façons principales d'atteindre le classement Top-N:

  • Syntaxe FETCH fournie par SQL standard;
  • Une autre syntaxe LIMIT courante.

Utilisez SQL standard pour atteindre le classement des N premiers

L'exemple suivant utilise la clause FETCH pour interroger les 5 meilleurs employés avec un salaire mensuel:

-- Oracle、SQL Server 以及 PostgreSQL 实现
SELECT emp_name, salary
  FROM employee
 ORDER BY salary DESC
OFFSET 0 ROWS
 FETCH FIRST 5 ROWS ONLY;

Parmi eux, ORDER BY trie le salaire mensuel de haut en bas; OFFSET signifie sauter 0 ligne; puis FETCH renvoie les 5 premières données, qui sont les 5 premiers salaires mensuels des employés. Le résultat de cette déclaration est le suivant:

Je suppose que tu aimes

Origine blog.csdn.net/horses/article/details/108729112
conseillé
Classement