sql >> Database teknologi >  >> RDS >> Oracle

Øg rækkenummer på gruppe med gentagne grupper

Du kan bruge forskellen på rækkenumre til at definere grupperne:

select Shade, count(*) as amount
from (select t.*,
             row_number() over (order by level) as seqnum,
             row_number() over (partition by shade order by level) as seqnum_s
      from t
     ) t
group by Shade, (seqnum - seqnum_s);

Det er lidt svært at forklare, hvorfor dette virker. Hvis du ser på resultaterne af underforespørgslen, bliver det tydeligt, hvorfor forskellen mellem de to row_number() værdier identificerer sekventielle grupper.




  1. Indsættelse af billedfil med PyQt5 i MySQL-databasetabelkolonnen

  2. indlæser enwiki-latest-categorylinks.sql til mysql

  3. Hvad betyder nøgleordet KEY?

  4. MySQL BESTIL AF x-y/x ASC