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

Funkcja partycji COUNT() OVER możliwa przy użyciu DISTINCT

Jest bardzo proste rozwiązanie za pomocą dense_rank()

dense_rank() over (partition by [Mth] order by [UserAccountKey]) 
+ dense_rank() over (partition by [Mth] order by [UserAccountKey] desc) 
- 1

Dzięki temu uzyskasz dokładnie to, o co prosiłeś:liczbę odrębnych kluczy konta użytkownika w każdym miesiącu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Używanie SQL Server jako kolejki DB z wieloma klientami

  2. Użyj SERVERPROPERTY(), aby uzyskać informacje o serwerze w SQL Server

  3. Maksymalny rozmiar zapytania SQL Server? Klauzula IN? Czy istnieje lepsze podejście?

  4. CHARINDEX() vs PATINDEX() w SQL Server — jaka jest różnica?

  5. Ograniczenie tylko dla jednego rekordu oznaczonego jako domyślne