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

Antal antal fortløbende forekomst af værdier i tabel

En tilgang er forskellen på rækkenumre:

select name, count(*) 
from (select t.*,
             (row_number() over (order by id) -
              row_number() over (partition by name order by id)
             ) as grp
      from t
     ) t
group by grp, name;

Logikken er nemmest at forstå, hvis du kører underforespørgslen og ser på værdierne af hvert rækkenummer separat og derefter ser på forskellen.



  1. Hvordan ændres database_url på heroku?

  2. Sådan beregnes glidende gennemsnit i MySQL

  3. MySQL vs. MongoDB

  4. Hvordan forhindrer man dublerede brugernavne, når folk registrerer sig?