sql >> Databasteknik >  >> RDS >> PostgreSQL

Välj endast rader som har en kolumn ändrad från raderna före den, med ett unikt ID

Detta är ett luckor-and-ö-problem. Du vill ha början på varje ö, som du kan identifiera genom att jämföra statusen på den aktuella raden med statusen på den "föregående" posten.

Fönsterfunktioner är användbara för detta:

select t.*
from (
    select t.*, lag(status) over(partition by personID order by unixtime) lag_status
    from mytable t
) t
where lag_status is null or status <> lag_status



  1. MySQL Database startar på Terminal Men inte på XAMPP

  2. npgsql-problem i c#-appen - En befintlig anslutning stängdes med tvång av fjärrvärden

  3. UTF-8 teckenkodningsstrider json_encode()

  4. Vad är det bästa sättet att lagra koordinater (longitud/latitud, från Google Maps) i SQL Server?