PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Permintaan SQL untuk pagination dengan banyak kolom; mengerti operator ATAU

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.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Indeks GIN pada kolom smallint[] tidak digunakan atau operator kesalahan tidak unik

  2. Rails 3 mengabaikan pengecualian batasan unik Postgres

  3. Hitung jumlah hari antara 2 tanggal di JPA

  4. Bagaimana cara menggunakan beberapa pernyataan WITH dalam satu kueri PostgreSQL?

  5. Bug di Spring Data JPA:Spring Data mengembalikan Daftar<BigInteger> alih-alih Daftar<Long>