Tôi đã tìm thấy giải pháp này trên web
SET @row := 0;
SELECT @row := @row + 1 as row, t.*
FROM some_table t, (SELECT @row := 0) r
Truy vấn đơn, nhanh và thực hiện chính xác những gì tôi muốn:bây giờ tôi có thể "đánh số" các "lựa chọn" được tìm thấy từ một truy vấn phức tạp với các số duy nhất bắt đầu từ 1 và tăng một lần cho mỗi hàng trong kết quả.
Tôi nghĩ điều này cũng sẽ hiệu quả đối với sự cố được liệt kê ở trên:điều chỉnh giá trị bắt đầu ban đầu cho @row
và thêm một điều khoản giới hạn để đặt mức tối đa.
BTW:Tôi nghĩ rằng chữ "r" không thực sự cần thiết.
ddsp