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 Beta
Zeile 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 ASC
die Zeilen in PHP aufzählen, aber es scheint verschwenderisch, eine potenziell große Ergebnismenge nur für eine einzelne Zeile zu laden.