Avec la table MySQL suivante:
+-----------------------------+
+ id INT UNSIGNED +
+ name VARCHAR(100) +
+-----------------------------+
Comment puis-je sélectionner une seule ligne ET sa position parmi les autres lignes du tableau, une fois triées par name ASC
. Donc, si les données de la table ressemblent à ceci, lorsqu'elles sont triées par nom:
+-----------------------------+
+ id | name +
+-----------------------------+
+ 5 | Alpha +
+ 7 | Beta +
+ 3 | Delta +
+ ..... +
+ 1 | Zed +
+-----------------------------+
Comment pourrais-je sélectionner la Beta
ligne pour obtenir la position actuelle de cette ligne? L'ensemble de résultats que je recherche serait quelque chose comme ceci:
+-----------------------------+
+ id | position | name +
+-----------------------------+
+ 7 | 2 | Beta +
+-----------------------------+
Je peux faire un simple SELECT * FROM tbl ORDER BY name ASC
puis énumérer les lignes en PHP, mais il semble inutile de charger un ensemble de résultats potentiellement volumineux juste pour une seule ligne.