sql >> Database teknologi >  >> RDS >> PostgreSQL

Første og sidste værdi aggregerede funktioner i postgresql, der fungerer korrekt med NULL-værdier

Du kan bruge vinduesfunktioner lead() og lag() for at kontrollere første og sidste post, for eksempel:

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

sql violindemo



  1. Brug af Microsoft DiskSpd til at teste dit lagerundersystem

  2. Sådan opretter du en blog i PHP og MySQL database - Backend

  3. CTE for at få alle børn (efterkommere) af en forælder

  4. Har brug for hjælp til at skubbe 8k kolonneværdi fra R til CLOB kolonne (Oracle)