Maison >base de données >tutoriel mysql >Comment ajouter un numéro de série à une requête dans MySQL
Dans MySQL, vous pouvez utiliser l'instruction SELECT pour définir des variables utilisateur afin d'ajouter des numéros de série aux résultats de la requête. La syntaxe est "SELECT champ 1, champ 2, (@i:=@i+1) AS 'numéro de série'. FROM nom de la table, (SELECT @ i:=0) AS itable;".
L'environnement d'exploitation de ce tutoriel : système windows10, version mysql8.0.22, ordinateur Dell G3.
Une solution courante consiste à générer des numéros de série en définissant des variables utilisateur
Exemple : Supposons que la base de données ait une table étudiant
Il y a des champs dans la table : sid, sname, Gender , age
Requête Les données du tableau sont ajoutées avec un numéro de série, et le SQL correspondant est :
SELECT sid,sname,gender,age,(@i:=@i+1) AS '序号' FROM student,(SELECT @i:=0) AS itable;
ou
SET @i=0; SELECT sid,sname,gender,age,@i:=@i+1 AS '序号' FROM student;
Les résultats de la requête sont comme indiqué dans la figure :
Explication :
1, (@i:=@i+1 ) peut également être écrit comme @i:=@i+1, l'ajout de parenthèses est pour plus de clarté visuelle.
Ce que cela signifie est : ajoutez 1 à la variable i et attribuez-la à la variable i. Après avoir défini une variable, la variable sera incrémentée à chaque fois que vous interrogez. Il n'est pas nécessaire que cette variable soit incrémentée à chaque fois que vous exécutez la requête. pour obtenir les résultats.
2. (SELECT @i:=0) AS itable, définissez la variable utilisateur i, définissez la valeur initiale sur 0, puis utilisez-la comme table dérivée AS définit l'alias de la table.
3. RÉGLER @i=0. Définissez la variable utilisateur i et attribuez la valeur initiale à 0.
Points de connaissance associés :
1. La façon dont MySQL définit les variables utilisateur : sélectionnez @nom de la variable Dans l'instruction SQL ci-dessus, le nom de la variable est i
. 2. Variables utilisateur Affectation : L'une consiste à utiliser le signe "=" directement et l'autre consiste à utiliser le signe ":=". La différence entre
= et := :
Lors de l'utilisation de la commande set pour attribuer des valeurs aux variables utilisateur, les deux méthodes peuvent être utilisées,
c'est-à-dire : SET @variable name=xxx ou SET @variable name:= xxx
use select Lors de l'attribution de valeurs aux variables utilisateur dans une instruction, vous ne pouvez utiliser que la méthode ":=", car dans l'instruction select, le signe "=" est considéré comme un opérateur de comparaison. C'est-à-dire : SELECT @nom de la variable :=xxx
① : Variable utilisateur
② : Table dérivée
③ : Alias de paramètre AS
Utilisant Oracle, la méthode d'écriture est :
SELECT "sid","sname","gender","age", ROW_NUMBER() over(order by "sid") AS "序号" FROM "user";
Apprentissage recommandé : Tutoriel vidéo mysql
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!