sql >> Database >  >> RDS >> PostgreSQL

SQL-groep op datumbereik

Dus je wilt reeksen vinden op basis van de datum die hetzelfde zijn.

Hier is een truc:als je het verschil tussen row_number() . neemt over de hele groep en row_number() gepartitioneerd door code , dan is het constant voor aangrenzende rijen met dezelfde code. De rest is gewoon aggregatie:

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. Hoe LAST_DAY() werkt in MariaDB

  2. 4 manieren om rijen te vinden die hoofdletters bevatten in PostgreSQL

  3. Een tekenreeks converteren naar een datum/tijd in SQL Server met PARSE()

  4. Hoe de MySQL-versie te bepalen