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

Fungsi agregat nilai pertama dan terakhir di postgresql yang berfungsi dengan benar dengan nilai NULL

Anda dapat menggunakan fungsi jendela lead() dan lag() untuk memeriksa record pertama dan terakhir, misalnya:

select
    max(a.id) as id,
    max(a.first) as first,
    max(a.last) as last
from (
    select
         v.id,
         case when lag(v.id) over(order by v.id, p.install_date) is null then p.install_date end as first,
         case when lead(v.id) over(order by v.id, p.install_date) is null then p.remove_date end as last
    from vehicle v 
       left join period p on (v.id = p.car_id) 
    where v.id = 1 
) as a

demo biola sql



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Buang bagian milidetik dari stempel waktu

  2. Django, mengakses urutan PostgreSQL

  3. Pengalihan penyisipan berbasis pemicu Postgres tanpa merusak RETURNING

  4. Bergabunglah dengan dua tabel berdasarkan stempel waktu terdekat

  5. Bagaimana cara meringkas semua baris berdasarkan kolom enumerasi di PostgreSQL part2?