sql >> Databáze >  >> RDS >> Sqlserver

Počet Počet po sobě jdoucích výskytů hodnot v tabulce

Jedním přístupem je rozdíl čísel řádků:

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;

Logiku nejsnáze pochopíte, když spustíte dílčí dotaz a podíváte se na hodnoty každého čísla řádku zvlášť a pak se podíváte na rozdíl.



  1. MIN() vs LEAST() v MySQL:Jaký je rozdíl?

  2. předat celočíselné pole do procedury Oracle pomocí c#

  3. Jak získám poslední vložené ID tabulky MySQL v PHP?

  4. Vyrovnávání zátěže PostgreSQL v cloudu je snadné