Si je comprends bien ce que vous entendez par round-robin, vous pouvez faire quelque chose dans le sens de
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;
Stockez (dans une session, un fichier, une autre table, etc.) et passez à votre requête le dernier id
affiché ou 0 pour la requête initiale.
Cela vous donnera la ligne suivante ou la première si vous avez atteint la dernière. Cette requête fonctionnera toujours si vous avez des lacunes dans id
s.
Voici un SQLFiddle démo