Tujuan saya terpecahkan :) Jadi, saya memposting di sini jika ada yang merasa cocok:
SELECT d.myRowSerial
FROM (
SELECT *, @rownum:[email protected] + 1 AS myRowSerial
FROM myTable, (SELECT @rownum:=0) AS nothingButSetInitialValue
WHERE 1=1 -- Optional: filter if required, otherwise, omit this line;
ORDER BY AnyColumn -- Apply the order you like;
) d
WHERE d.myColumn = 'Anything'; -- If you like to limit it to only
-- for any specific row(s), similar to the *MAIN query.
Jika Anda membutuhkan nomor halaman juga yang dapat digunakan untuk menentukan nilai offset untuk pagination, maka cukup ubah baris 1 di atas seperti ini:
SELECT d.myRowSerial, FLOOR((d.myRowSerial-1)/10) AS pageNumber
-- Say, 10 is per page;
Anda akan memiliki pageNumber==0 untuk halaman 1, dan pageNumber==1 untuk halaman 2 dan seterusnya.....