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

Source [EN]

Retour


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.

Si ce champ est laissé vide, vous apparaîtrez en tant que Anonyme.