sql >> Databáze >  >> RDS >> Mysql

Jak vybrat každý n-tý řádek v mySQL počínaje n

Zde je jeden přístup, jak získat sadu výsledků vrácenou MySQL. (Mohlo by však být jednodušší vrátit všechny řádky a získat každý třetí řádek v aplikaci). Ale to lze udělat v MySQL docela snadno. Všimněte si, že váš původní dotaz je zabalen do závorek (jako vložený pohled) s aliasem 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

To se vrátí každý třetí řádek, počínaje prvním řádkem. Chcete-li, aby každý třetí řádek začínal 2. a 3. řádkem, nahraďte doslovný = 1 v klauzuli HAVING s = 2 nebo = 3 (respektive).



  1. Dynamický (Column Based) Interval

  2. Jak vybrat každý n-tý řádek v mySQL počínaje n

  3. Jak seskupit podle měsíce v MySQL

  4. Získejte věk člověka v MySQL