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

nから始まるmySQLのn番目ごとの行を選択する方法

    MySQLから返される結果セットを取得するための1つのアプローチがあります。 (ただし、すべての行を返し、アプリ内で3行ごとに取得する方が簡単な場合があります)。しかし、MySQLでは非常に簡単に実行できます。元のクエリは、rとしてエイリアスされた(インラインビューとしての)括弧でラップされていることに注意してください。 。

    SELECT r.*
      FROM ( 
             SELECT *
               FROM mbr_qa_questions
              ORDER BY q_votes DESC
           ) r
     CROSS
      JOIN ( SELECT @i := 0 ) s
    HAVING ( @i := @i + 1) MOD 3 = 1
    

    これにより、最初の行から3行ごとに返されます。 2行目と3行目から3行おきに取得するには、リテラル= 1を置き換えます。 = 2のHAVING句内 または= 3 (それぞれ)。



    1. Oracleの自動インクリメント

    2. Accessで合計行を作成する方法

    3. MySQLでソース-レプリカレプリケーションを構成する方法

    4. MountainLionにMySQLdbをインストールする方法