sql >> Database teknologi >  >> RDS >> Sqlserver

Sammenfletning af data i en enkelt SQL-tabel uden en markør

Den vigtigste observation er, at en talfølge minus en anden rækkefølge er en konstant. Vi kan generere en anden sekvens ved hjælp af row_number . Dette identificerer alle grupperne:

select id, MIN(number) as low, MAX(number) as high
from (select t.*,
             (number - ROW_NUMBER() over (partition by id order by number) ) as groupnum
      from t
     ) t
group by id, groupnum

Resten er kun sammenlægning.



  1. C# med MySQL - Fejl:Guiden skal indeholde 32 cifre med 4 bindestreger, når du forsøger at åbne forbindelsen

  2. Find den bedste matchende række i MySQL (InnoDB)

  3. MySQL-sammenkædning og ulovlig blanding af kollationsfejl

  4. Lukning af en MySQL-forbindelse i PHP