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

Bagaimana cara menerapkan pagination ke hasil kueri SQL dengan Gabung?

Sungguh lucu bagaimana menulis pertanyaan membuat Anda berpikir, dan sebenarnya sangat membantu dalam membayangkan solusi untuk masalah Anda sendiri.

Saya dapat memecahkan masalah ini hanya dengan menambahkan bagian pagination dari kueri ke sub-kueri dari kueri utama saya, bukan ke kueri utama itu sendiri.

Misalnya, alih-alih melakukan:

SELECT client.id, client.name ...
FROM clients AS client
LEFT JOIN client_account_types AS cat ON client.id = cat.client_id
FULL JOIN account_types AS at ON cat.account_type_id = at.id
ORDER BY client.name ASC
LIMIT 10 OFFSET 30;

Saya melakukan ini:

SELECT client.id, client.name ...
FROM (
    SELECT * FROM clients
    ORDER BY name ASC
    LIMIT 10 OFFSET 0
) AS client
LEFT JOIN client_account_types AS cat ON client.id = cat.client_id
FULL JOIN account_types AS at ON cat.account_type_id = at.id;

Semoga ini bisa membantu orang lain juga.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara menghasilkan pernyataan buat tabel sql untuk tabel yang ada di postgreSQL

  2. postgresql libpqxx Beberapa kueri sebagai satu transaksi

  3. Kesalahan dalam LINQ (kolom tidak ada) saat menggunakan Entity Framework

  4. Bagaimana cara menangani pernyataan impor di plpython?

  5. Bagaimana cara memeriksa fungsi mana yang menggunakan tipe?