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

Jak získám každý N-tý záznam z tabulky?

V jediném dotazu můžete provést dotaz s různým posunem, jako je tento

select NAME from 
   (select @row:[email protected]+1 as row, t.NAME from 
    tbl t, (select @row := 0) y 
    where alphabet_index='A' order by alphabet_index) z 
where row % 880 = 1;

Tím se do každého řádku přidá jedinečné celočíselné ID prostřednictvím proměnné @row. Potom vybere řádek každých 880 pomocí operátoru modulo a této proměnné. K získání opakovatelného chování je vyžadováno pořadí podle klauzule, jinak by byl výsledek prakticky náhodný.



  1. Zvyšte hodnotu v dotazu aktualizace MySQL

  2. Aplikace pro Windows Phone 8.1 se připojuje k databázi

  3. Jak rozdělit hodnotu oddělenou čárkami do sloupců

  4. Proč to vrací ID zdroje #2?