Mục đích của OR
- như bạn nghi ngờ - là để xử lý trường hợp có sự ràng buộc trong điểm số. Ý tưởng là tạo một sắp xếp ổn định bằng cách bao gồm id
, vì vậy điều này nhận được mọi thứ sau (score, id)
.
Có lẽ, các giá trị được sử dụng cho score
và id
là những giá trị cuối cùng được nhìn thấy (có thể ở trang trước, nhưng đó là suy đoán).
Sắp xếp "ổn định" là sắp xếp trả về các hàng theo cùng một thứ tự mỗi khi nó được áp dụng. Bởi vì các bảng SQL đại diện cho không có thứ tự bộ, mối quan hệ ngụ ý một không ổn định loại. Bao gồm id
làm cho nó ổn định (giả sử rằng id
là duy nhất.
Postgres thực sự hỗ trợ một cú pháp đơn giản hơn:
where (score, id) > (11266, 4482)
Lưu ý rằng tôi cũng đã loại bỏ các dấu ngoặc kép. Các giá trị trông giống như số nên chúng phải được coi là số không phải là chuỗi.