簡體   English   中英

在SQL Server中選擇匹配的總和

[英]Select the matching/sum up total in SQL Server

我想獲取所有匹配/求和的ID。

例如,如果我的總數量是40,那么我的查詢將停止,直到將所有數量求和等於或大於40。

查看截圖

在此處輸入圖片說明

如果您使用的是SQL Server 2012及更高版本,則可以使用此腳本。

;WITH CTE AS (
    SELECT PK_TRXNO, FK_iwItems, qty, 
        total = SUM(qty) OVER( PARTITION BY FK_iwItems ORDER BY PK_TRXNO DESC ROWS UNBOUNDED PRECEDING ) 
    FROM @MyTable
)
, CTE2 AS (
    SELECT *, 
       RN = ROW_NUMBER() OVER(PARTITION BY (CASE WHEN total > 40 THEN 1 ELSE 0 END) ORDER BY PK_TRXNO DESC)  
    FROM CTE 
)
SELECT * FROM CTE2
WHERE total <= 40 OR ( total> 40 AND RN = 1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM