Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL Round Robin Seleziona

Se ho capito bene cosa intendi per round robin, allora puoi fare qualcosa sulla falsariga di

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;

Archivia (in sessione, file, un'altra tabella, ecc.) e passa alla tua query l'ultimo id mostrato o 0 per la query iniziale.

Questo ti darà la riga successiva o di nuovo la prima se hai raggiunto l'ultima. Questa query funzionerà ancora se hai delle lacune in id s.

Ecco un SQLFiddle demo