Целта на OR
-- както подозирате -- е да се справим със случая, когато има равенства в резултатите. Идеята е да се направи стабилно сортиране чрез включване на id
, така че това получава всичко след (score, id)
.
Вероятно стойностите, използвани за score
и id
са последните видяни стойности (вероятно на предишната страница, но това е спекулация).
„Стабилно“ сортиране е това, което връща редовете в същия ред всеки път, когато се прилага. Тъй като SQL таблиците представляват неподредени комплекти, равенствата предполагат нестабилност вид. Включително id
го прави стабилен (приемайки, че id
е уникален.
Postgres всъщност поддържа по-прост синтаксис:
where (score, id) > (11266, 4482)
Имайте предвид, че премахнах и единичните кавички. Стойностите изглеждат като числа, така че трябва да се третират като числа, а не като низове.