Mit der folgenden MySQL-Tabelle:
+-----------------------------+
+ id INT UNSIGNED +
+ name VARCHAR(100) +
+-----------------------------+
Wie kann ich eine wählen einzelne Zeile und seine Position unter den anderen Zeilen in der Tabelle, wenn nach sortiert name ASC. Wenn die Tabellendaten also so aussehen, wenn sie nach Namen sortiert sind:
+-----------------------------+
+ id | name +
+-----------------------------+
+ 5 | Alpha +
+ 7 | Beta +
+ 3 | Delta +
+ ..... +
+ 1 | Zed +
+-----------------------------+
Wie kann ich die BetaZeile auswählen, die die aktuelle Position dieser Zeile erhält? Die Ergebnismenge, nach der ich suche, wäre ungefähr so:
+-----------------------------+
+ id | position | name +
+-----------------------------+
+ 7 | 2 | Beta +
+-----------------------------+
Ich kann einfach SELECT * FROM tbl ORDER BY name ASCdie Zeilen in PHP aufzählen, aber es scheint verschwenderisch, eine potenziell große Ergebnismenge nur für eine einzelne Zeile zu laden.