Maison > base de données > tutoriel mysql > Comment obtenir l'index d'enregistrement (numéro de ligne) dans une table MySQL ?

Comment obtenir l'index d'enregistrement (numéro de ligne) dans une table MySQL ?

DDD
Libérer: 2024-12-16 01:04:09
original
661 Les gens l'ont consulté

How to Get the Record Index (Row Number) in a MySQL Table?

Obtention de l'index des enregistrements dans une table MySQL

Dans MySQL, les tables contiennent souvent un grand nombre d'enregistrements. Il peut être utile d'avoir une colonne contenant l'index de l'enregistrement, ou la position de la ligne, pour chaque ligne d'un tableau. Cela peut être utilisé à diverses fins, telles que le classement des utilisateurs ou l'affichage de la position d'un enregistrement particulier dans une séquence.

Solution

Pour générer une colonne contenant l'index d'enregistrement, vous pouvez utiliser une combinaison de variables définies par l'utilisateur et une instruction de jointure. Voici un exemple :

SELECT  l.position, 
        l.username, 
        l.score,
        @curRow := @curRow + 1 AS row_number
FROM    league_girl l
JOIN    (SELECT @curRow := 0) r;
Copier après la connexion

Dans cette requête :

  • La variable @curRow est initialisée à 0 à l'aide de l'instruction (SELECT @curRow := 0).
  • L'instruction JOIN garantit que la variable @curRow est incrémentée de 1 pour chaque ligne de league_girl table.
  • La colonne row_number contient l'index d'enregistrement pour chaque ligne de la table.

Exemple d'utilisation

Considérez la table league_girl suivante :

position username score
1 a 10
2 b 25
3 c 75
4 d 25
5 e 55
6 f 80
7 g 15

La requête suivante renvoie l'index de l'enregistrement, le nom d'utilisateur et le score pour toutes les lignes de league_girl table avec un score supérieur à 50 :

SELECT  l.position, 
        l.username, 
        l.score,
        @curRow := @curRow + 1 AS row_number
FROM    league_girl l
JOIN    (SELECT @curRow := 0) r
WHERE   l.score > 50;
Copier après la connexion

Le résultat de cette requête est :

position username score row_number
3 c 75 1
5 e 55 2
6 f 80 3

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal