sql >> Databáze >  >> RDS >> PostgreSQL

První a poslední agregační funkce v postgresql fungují správně s hodnotami NULL

Můžete použít funkce okna lead() a lag() pro kontrolu prvního a posledního záznamu, například:

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

ukázka sql houslí



  1. Jak napsat foreach na SQL Server?

  2. 2 způsoby, jak nahradit podřetězec v MariaDB

  3. Potřebujete pole datových bloků z databáze MySql

  4. PostgreSQL 11:Recenzenti záplat pro rozdělování záplat