2016-03-22 15 views
2

Ich versuche, jede n-te Zeile in SQL auszuwählen. Ich habe mich in Stack Overflow umgesehen und basierend auf meinen begrenzten SQL-Kenntnissen zusammengezählt. Ich habe einen Tisch mit 81.225 Zeilen. Ich versuche, jede 285. Zeile in SQLite auszuwählen.Wählen Sie jede nte Zeile in SQLite3

Was ich verwende ist wie folgt:

Select * 
    From Test A 
    Where ROWID > 0 AND ROWID <= 81225 
    AND ROWID % 285 = 285 % 285 

Diese Abfrage gibt mir 285 Zeilen (was ich erwarten würde), aber es gibt mir nicht die erwarteten Ergebnisse. Gibt es etwas, das zu diesem Code hinzugefügt/geändert werden muss, um mir die gewünschten Ergebnisse zu geben?

Danke,

+0

Die Verwendung der 'Rowid' funktioniert nur, wenn die Werte aufeinander folgen, d. H. Wenn keine Zeilen gelöscht wurden. –

Antwort

3

Die Bedingung, die Sie für das Modul verwenden, ist falsch. Verwenden Sie stattdessen:

Select * 
From Test A 
Where ROWID > 0 AND ROWID <= 81225 
AND ROWID % 285 = 0