Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como recupero cada enésimo registro de uma tabela?


Você pode fazer uma consulta de deslocamento variável em uma única consulta como esta
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;

Isso adicionará um id inteiro exclusivo a cada linha por meio da variável @row. Em seguida, ele selecionará uma linha a cada 880 por meio do operador de módulo e dessa variável. Uma ordem por cláusula é necessária para obter um comportamento repetível, caso contrário o resultado seria efetivamente aleatório.