Tujuan dari OR
-- seperti yang Anda duga -- adalah menangani kasus di mana ada ikatan dalam skor. Idenya adalah untuk membuat pengurutan yang stabil dengan memasukkan id
, jadi ini mendapatkan segalanya setelah (score, id)
.
Agaknya, nilai yang digunakan untuk score
dan id
adalah nilai terakhir yang terlihat (mungkin di halaman sebelumnya, tapi itu spekulasi).
Sortir "stabil" adalah yang mengembalikan baris dalam urutan yang sama setiap kali diterapkan. Karena tabel SQL mewakili tidak berurutan set, ikatan menyiratkan tidak stabil menyortir. Termasuk id
membuatnya stabil (dengan asumsi bahwa id
unik.
Postgres sebenarnya mendukung sintaks yang lebih sederhana:
where (score, id) > (11266, 4482)
Perhatikan bahwa saya juga menghapus tanda kutip tunggal. Nilai terlihat seperti angka sehingga harus diperlakukan sebagai angka bukan string.