Mục đích của tôi đã được giải quyết:) Vì vậy, tôi đăng ở đây nếu ai thấy nó phù hợp:
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.
Nếu bạn cũng cần số trang có thể được sử dụng để xác định giá trị bù cho phân trang, thì chỉ cần thay đổi dòng đầu tiên ở trên như thế này:
SELECT d.myRowSerial, FLOOR((d.myRowSerial-1)/10) AS pageNumber
-- Say, 10 is per page;
Bạn sẽ có pageNumber ==0 cho trang 1 và pageNumber ==1 cho trang 2, v.v.