Nếu tôi hiểu chính xác ý của bạn khi nói vòng tròn, thì bạn có thể làm điều gì đó theo hướng của
SELECT id, url
FROM urls u CROSS JOIN
(
SELECT MIN(id) min_id, MAX(id) max_id
FROM urls
) m
WHERE id > IF(? >= max_id, 0, ?) -- last shown id goes here instead of placeholders
ORDER BY id
LIMIT 1;
Lưu trữ (trong phiên, tệp, bảng khác, v.v.) và chuyển đến truy vấn của bạn id
được hiển thị cuối cùng hoặc 0 cho truy vấn ban đầu.
Thao tác này sẽ cung cấp cho bạn hàng tiếp theo hoặc hàng đầu tiên nếu bạn đến hàng cuối cùng. Truy vấn này sẽ vẫn hoạt động nếu bạn có khoảng trống trong id
s.
Đây là SQLFiddle bản demo