Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL Round Robin Wybierz

Jeśli dobrze rozumiem, co rozumiesz przez round-robin, możesz zrobić coś w stylu

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;

Przechowuj (w sesji, pliku, innej tabeli itp.) i przekaż do zapytania ostatni wyświetlony id lub 0 dla początkowego zapytania.

To da ci następny wiersz lub pierwszy ponownie, jeśli dotarłeś do ostatniego. To zapytanie będzie nadal działać, jeśli masz luki w id s.

Oto SQLFiddle demo



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP $_GET metoda

  2. Jak połączyć się z lokalnym hostem za pomocą JDBC?

  3. Konwertuj dane wyjściowe zapytania MySQL na utf8

  4. Jak zamienić to zapytanie MySQL SELECT w zapytanie DELETE?

  5. Podłączanie Heroku do RDS za pomocą MySql2