Der Zweck des OR
-- wie Sie vermuten -- soll den Fall handhaben, in dem es Unentschieden in den Punktzahlen gibt. Die Idee ist, eine stabile Sortierung durch Einschließen der id
zu machen , also das hier bekommt alles nach (score, id)
.
Vermutlich die für score
verwendeten Werte und id
sind die zuletzt gesehenen Werte (wahrscheinlich auf der vorherigen Seite, aber das ist Spekulation).
Eine "stabile" Sortierung ist eine, die die Zeilen bei jeder Anwendung in derselben Reihenfolge zurückgibt. Weil SQL-Tabellen ungeordnet darstellen Sätze, Bindungen implizieren ein instabiles Sortieren. Einschließlich der id
macht es stabil (vorausgesetzt, dass id
ist einzigartig.
Postgres unterstützt tatsächlich eine einfachere Syntax:
where (score, id) > (11266, 4482)
Beachten Sie, dass ich auch die einfachen Anführungszeichen entfernt habe. Die Werte sehen aus wie Zahlen, also sollten sie als Zahlen und nicht als Zeichenketten behandelt werden.