Maison >base de données >tutoriel mysql >Comment ajouter des numéros de ligne aux résultats SELECT triés dans MySQL ?
MySQL : Récupérer le numéro de ligne des résultats SELECT triés
Question :
Comment obtenir le numéro de ligne de l'élément trié dans l'instruction SELECT de MySQL ?
Contexte :
Considérons un tableau appelé « commandes » contenant les colonnes « orderID » et « itemID ». La requête ci-dessous calcule la quantité commandée par « itemID » :
<code class="language-sql">SELECT itemID, COUNT(*) as ordercount FROM orders GROUP BY itemID ORDER BY ordercount DESC;</code>
Cette requête renvoie le nombre d'éléments mais pas le numéro de ligne.
Solution :
Pour récupérer le numéro de ligne, utilisez la technique suivante :
<code class="language-sql">SET @rank=0;</code>
<code class="language-sql">SELECT @rank:=@rank+1 AS rank, itemID, COUNT(*) as ordercount FROM orders GROUP BY itemID ORDER BY ordercount DESC;</code>
<code class="language-sql">SELECT @rank;</code>
Exemple :
La requête suivante renvoie le numéro de ligne et le nombre d'éléments :
<code class="language-sql">SET @rank=0; SELECT @rank:=@rank+1 AS rank, itemID, COUNT(*) as ordercount FROM orders GROUP BY itemID ORDER BY ordercount DESC; SELECT @rank;</code>
Sortie :
<code>1 | 388 | 3 2 | 234 | 2 3 | 693 | 1 4 | 3432 | 1 5 | 3459 | 1</code>
Le nombre final de lignes est de 5.
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!