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

Postgres:Berbeda tetapi hanya untuk satu kolom

Untuk melakukan pembedaan hanya pada satu (atau n) kolom:

select distinct on (name)
    name, col1, col2
from names

Ini akan mengembalikan salah satu baris yang berisi nama. Jika Anda ingin mengontrol baris mana yang akan dikembalikan, Anda perlu memesan:

select distinct on (name)
    name, col1, col2
from names
order by name, col1

Akan mengembalikan baris pertama saat dipesan oleh col1.

distinct on :

SELECT DISTINCT ON ( ekspresi [, ...] ) hanya menyimpan baris pertama dari setiap set baris di mana ekspresi yang diberikan dievaluasi sama. Ekspresi DISTINCT ON ditafsirkan menggunakan aturan yang sama seperti untuk ORDER BY (lihat di atas). Perhatikan bahwa "baris pertama" dari setiap set tidak dapat diprediksi kecuali ORDER BY digunakan untuk memastikan bahwa baris yang diinginkan muncul terlebih dahulu.

Ekspresi DISTINCT ON harus cocok dengan ekspresi ORDER BY paling kiri. Klausa ORDER BY biasanya akan berisi ekspresi tambahan yang menentukan prioritas baris yang diinginkan dalam setiap grup DISTINCT ON.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mendaftar dan Mengganti Basis Data di PostgreSQL

  2. Array integer Postgres sebagai parameter?

  3. urutan kolom dalam pernyataan SELECT * - dijamin?

  4. Skenario Kegagalan PostgreSQL Paling Umum

  5. Mengukur Statistik Pos Pemeriksaan PostgreSQL