Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zliczanie Liczba kolejnych wystąpień wartości w tabeli

Jednym podejściem jest różnica numerów wierszy:

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;

Logika jest najłatwiejsza do zrozumienia, jeśli uruchomisz podzapytanie i przyjrzysz się wartościom każdego numeru wiersza osobno, a następnie przyjrzysz się różnicy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wskazówki dotyczące korzystania z SQL Server z Salesforce SOQL

  2. DevOps:DBA lub programista – jak zachować równowagę

  3. Jak odzyskać *wszystko* z procedury składowanej za pomocą JDBC?

  4. Jak przenieść lub wyeksportować dane SQL Server 2005 do Excela?

  5. Znajdowanie jednoczesnych zdarzeń w bazie danych między czasami