Programmation
MariaDB / MySQL: générer un numéro de ligne
Il n'existe actuellement pas de fonction intégrée pour compter les lignes retournées par une requête. La solution est d'utiliser une variable qui est incrémentée dans chaque ligne de résultat, comme ceci:
@ligneActuelle := @ligneActuelle + 1 AS numeroLigne
Nous pouvons utiliser une commande JOIN pour initialiser notre variable sans avoir besoin de SET:
JOIN (SELECT @ligneActuelle := 0) ligne
Une autre notation est de remplacer JOIN par une virgule:
, (SELECT @ligneActuelle := 0) ligne
Voici un exemple de requête complète:
SELECT
titre,
texte,
@ligneActuelle := @ligneActuelle + 1 AS numeroLigne
FROM articles
JOIN (SELECT @ligneActuelle := 0) ligne
Commentaires
Aucun commentaire pour le moment.
Une remarque, une suggestion ? N'hésitez pas à vous exprimer ci-dessous. Veuillez simplement être courtois et poli, merci d'avance.