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

SQL — Bieżąca suma — rok do daty, poprzedni rok do daty i ostatnie 12 miesięcy toczących się

Poniższe informacje wygenerują Twoje kolumny sum bieżących.

Przykład

Select *
      ,Running12       = sum(Value) over (Partition By ID Order By Date Rows Between 11 Preceding and Current Row)
      ,CalendarYTD     = sum(Value) over (Partition By ID,Year(Date) Order By Date)
      ,PrevCalendarYTD = case when month(date)<>1 then null else (Select Value from @YourTable Where ID=A.ID and date=dateadd(year,-1,A.date)) end
 From @YourTable A
 Order By ID,Date

Zwroty




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak podzielić ciąg rozdzielany w programie SQL Server bez tworzenia funkcji?

  2. Błąd — nieprawidłowa próba odczytu, gdy brak jest danych. podczas korzystania z SQLDataReader, nawet jeśli dane są obecne

  3. Jak mogę wyczyścić pamięć podręczną zapytań programu SQL Server?

  4. Przekazywanie parametru ciągu xml do procedury składowanej SQL Server

  5. Krzyżowe połączenie SQL Query