Mit der folgenden MySQL-Tabelle erhalten:MySQL Zeilenposition in ORDER BY
+-----------------------------+
+ id INT UNSIGNED +
+ name VARCHAR(100) +
+-----------------------------+
Wie kann ich eine einzelne Reihe und seine Position unter den anderen Zeilen in der Tabelle auswählen, wenn sie von name ASC
sortiere. Wenn also die Tabellendaten wie folgt aussehen, wenn nach Namen sortiert:
+-----------------------------+
+ id | name +
+-----------------------------+
+ 5 | Alpha +
+ 7 | Beta +
+ 3 | Delta +
+ ..... +
+ 1 | Zed +
+-----------------------------+
Wie kann ich die Beta
Reihe wähle die aktuelle Position dieser Reihe zu bekommen? Die Ergebnismenge Ich suche würde wie folgt sein:
+-----------------------------+
+ id | position | name +
+-----------------------------+
+ 7 | 2 | Beta +
+-----------------------------+
Ich kann eine einfache SELECT * FROM tbl ORDER BY name ASC
tun dann die Zeilen in PHP aufzuzählen, aber es scheint verschwenderisch eine potentiell große resultset nur für eine einzelne Zeile zu laden.
http://stackoverflow.com/questions/2520357/mysql-get-row-number-on-select –
Mögliche Duplikat von [MySQL - Get Zeile Nummer auf Wählen Sie] (http://Stackoverflow.com/questions/2520357/mysql-get-row-number-on-select) – jberryman