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

Dapatkan nilai bidang dari catatan yang menyebabkan kondisi agregat menjadi benar

with agg as (
    select a, min(d) as d
    from x
    group by a
    having 1 = any(array_agg(b))
)
select distinct on (a, c)
    a, c, d
from
    x
    inner join
    agg using (a, d)
order by a, c

Jika min(d) tidak unik dalam a grup maka dimungkinkan untuk ada lebih dari satu c . Di atas akan mengembalikan yang terkecil c. Jika Anda ingin yang terbesar lakukan

order by a, c desc


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tidak dapat menulis ke file log pg_upgrade_internal.log saat memutakhirkan dari Postgresql 9.1 ke 9.3

  2. Potong string setelah kemunculan karakter pertama

  3. Nilai NULL untuk kolom referential_constraints.unique_constraint_* dalam skema informasi

  4. Apa sebenarnya yang dilakukan oleh/pernyataan data ini di SAS? Setara dengan PostgreSQL?

  5. dapatkan catatan tiga bulan terakhir dari tabel