sql >> データベース >  >> RDS >> Mysql

MySQLラウンドロビンセレクト

    ラウンドロビンの意味を正しく理解していれば、

    の方針に沿って何かを行うことができます。
    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;
    

    (セッション、ファイル、別のテーブルなどに)保存し、最後に表示されたidをクエリに渡します または最初のクエリの場合は0。

    これにより、次の行が表示されるか、最後の行に到達した場合は最初の行が表示されます。idにギャップがある場合でも、このクエリは機能します。 s。

    これがSQLFiddle です。 デモ



    1. Oracleデータベースのすべてのビューを一覧表示する方法

    2. SQLServerタスク自動化の基本

    3. INNER JOIN ONvsWHERE句

    4. MySql5.1バージョンでEXCEPT演算子を使用する