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

MySQL Round Robin Select

Hvis jeg forstår rigtigt hvad du mener med round-robin så kan du gøre noget i stil med

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;

Gem (i session, fil, en anden tabel osv.) og send det sidst viste id til din forespørgsel eller 0 for den indledende forespørgsel.

Dette giver dig den næste række eller den første igen, hvis du nåede den sidste. Denne forespørgsel vil stadig fungere, hvis du har huller i id s.

Her er en SQLFiddle demo



  1. 4 måder at kontrollere, om en tabel eksisterer, før du dropper den i SQL Server (T-SQL)

  2. Hvordan gemmer jeg en streng længere end 4000 tegn i en Oracle-database ved hjælp af Java/JDBC?

  3. JDBCExceptionReporter - SQL-fejl:0, SQLState:08001

  4. mysql, dump, databasegendannelse