Dengan tabel MySQL berikut ini:
+-----------------------------+
+ id INT UNSIGNED +
+ name VARCHAR(100) +
+-----------------------------+
Bagaimana cara memilih satu baris DAN posisinya di antara baris lain dalam tabel, jika diurutkan berdasarkan name ASC
. Jadi jika tabel datanya terlihat seperti ini, bila diurutkan berdasarkan nama:
+-----------------------------+
+ id | name +
+-----------------------------+
+ 5 | Alpha +
+ 7 | Beta +
+ 3 | Delta +
+ ..... +
+ 1 | Zed +
+-----------------------------+
Bagaimana saya bisa memilih Beta
baris yang mendapatkan posisi saat ini dari baris itu? Kumpulan hasil yang saya cari akan menjadi seperti ini:
+-----------------------------+
+ id | position | name +
+-----------------------------+
+ 7 | 2 | Beta +
+-----------------------------+
Saya dapat melakukan yang sederhana SELECT * FROM tbl ORDER BY name ASC
lalu menghitung baris dalam PHP, tetapi tampaknya sia-sia untuk memuat kumpulan hasil yang berpotensi besar hanya untuk satu baris.