Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

SQL - Tổng số đang chạy - Từ năm đến nay, năm trước đến nay và lần luân chuyển cuối cùng trong 12 tháng

Phần sau sẽ tạo tổng số cột đang chạy của bạn.

Ví dụ

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

Trả lại




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lưu trữ một lượng lớn dữ liệu cũ trong SQL Server

  2. Điều gì sẽ xảy ra khi tràn dấu thời gian (đảo ngược hàng)?

  3. Thủ tục hoặc hàm được lưu trữ yêu cầu tham số không được cung cấp

  4. Nhận tổng số hàng trong khi phân trang

  5. Truy vấn bảng SQL với các giá trị khác nhau trong cùng một cột với cùng một ID