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

Tính toán tổng số đang chạy &tổng số chạy trên các khách hàng bằng SQL

Bạn nên sử dụng ROW_NUMBER ( liên kết ) thay vì COUNT :

DECLARE @Threshold NUMERIC(19,2)=1000; -- Use the same data type as `[AMT]`'s data type

Select
  [DID]
, [AMT]
, [Gf_Date]
--, COUNT([GID]) OVER (PARTITION BY [DID] ORDER BY [Gf_Date]) [RunningGift_Count]
, ROW_NUMBER() OVER (PARTITION BY [DID] ORDER BY [Gf_Date]) [RunningGift_Count]
, SUM([AMT]) OVER (PARTITION BY [DID] ORDER BY [Gf_Date]) [CumlativeTotal]
, CASE
      WHEN SUM([AMT]) OVER (PARTITION BY [DID] ORDER BY [Gf_Date]) >= @Threshold THEN 1
      ELSE 0
  END IsThresholdPassed
FROM [dbo].[MCT]
WHERE [SC] is null
ORDER BY [DID]



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tìm tất cả các bảng chứa cột có tên được chỉ định - MS SQL Server

  2. Cách sử dụng trường được tính toán trong một trường khác của cùng một truy vấn

  3. SqlParameter không cho phép Tên bảng - các tùy chọn khác mà không có cuộc tấn công tiêm sql?

  4. Nhà môi giới dịch vụ máy chủ Sql

  5. Cắt chuỗi văn bản trong SQL Server 2008