Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie rufe ich jeden N-ten Datensatz aus einer Tabelle ab?

Sie können eine Abfrage mit variierendem Offset in einer einzelnen Abfrage wie dieser durchführen

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;

Dadurch wird jeder Zeile über die Variable @row eine eindeutige Integer-ID hinzugefügt. Dann wird alle zwei 880 eine Zeile über den Modulo-Operator und diese Variable ausgewählt. Eine order by-Klausel ist erforderlich, um ein wiederholbares Verhalten zu erhalten, andernfalls wäre das Ergebnis effektiv zufällig.