PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Hàm tổng hợp giá trị đầu tiên và giá trị cuối cùng trong postgresql hoạt động chính xác với các giá trị NULL

Bạn có thể sử dụng các hàm cửa sổ lead()lag() để kiểm tra bản ghi đầu tiên và cuối cùng, ví dụ:

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

bản trình diễn sql fiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bảng postgresql tồn tại, nhưng mối quan hệ nhận được không tồn tại khi truy vấn

  2. Lỗi ứng dụng thử nghiệm django - Gặp lỗi khi tạo cơ sở dữ liệu thử nghiệm:quyền tạo cơ sở dữ liệu bị từ chối

  3. Sự khác biệt giữa loại dữ liệu DECIMAL và NUMERIC trong PSQL

  4. PostgreSQL 9.1 sử dụng đối chiếu trong các câu lệnh chọn

  5. Sắp xếp truy vấn chậm theo cột trong bảng đã nối