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

SQL Grupper efter datointerval

Så du vil finde sekvenser i henhold til datoen, der er de samme.

Her er et trick:hvis du tager forskellen mellem row_number() over hele gruppen og row_number() opdelt med code , så vil den være konstant for tilstødende rækker med den samme kode. Resten er kun sammenlægning:

select  min(date), max(date), code
from (select t.*,
             (row_number() over (order by date) -
              row_number() over (partition by code order by date)
             ) as grpid
      from followingdata t
     ) t
group by grpid, code;



  1. Sådan tjekker du din PostgreSQL-version

  2. Backend-versionen understøttes ikke til at designe databasediagrammer eller tabeller

  3. En introduktion til Concurrent Collection API'er i Java

  4. Hvorfor du skal bruge PHPs PDO til databaseadgang