我一直在編寫一個SQL查詢以基於類似的ID組捲起多個餘額,並針對標記爲N的產品顯示餘額。我想我需要使用分區函數或最大功能來做到這一點。使用分區的SQL Server聚合
所需結果位於示例數據集下面的表格中。任何人都可以解決這個問題嗎?
有人會知道邏輯來幫助嗎?基本上我需要用ID將所有東西都分組,並且有N個標誌的地方滾動到該記錄的平衡點,如果沒有N標誌的記錄,我們只需通過pdct_Type_C進行聚合。
SELECT
客戶端,
SUM(限制)限制,
SUM(餘額)餘額,
SUM(曝光)曝光,
MAX(CASE WHEN標記= 'N' THEN Pdct_type_c ELSE NULL END)Pdct_type_c,
ID
FROM表
GROUP BY客戶端,ID
樣本數據集
Client | Limit | Balance | Exposure | Pdct_type_c | Flag | ID -------------------------------------------------------------------------------- John | 60,000,000.00| - | 5,000,000| DERIV | N | 2 John | - | 1,000,000.00 | - | FX | y | 2 John | - | 2,000,000.00 | - | IC | y | 2 John | 1,000,000.00 | 3,000,000.00 | - | DCO | y | 3 John | 1,000,000.00 | 3,000,000.00 | - | DCO | y | 3
當前結果
Client | Limit | Balance | Exposure | Pdct_type_c | Flag | ID -------------------------------------------------------------------------------- John | 60,000,000.00| 3,000,000.00 | 5,000,000| DERIV | N | 2 John | 2,000,000.00 | 6,000,000.00 | - | NULL | Y | 3
期望的結果
Client | Limit | Balance | Exposure | Pdct_type_c | Flag | ID -------------------------------------------------------------------------------- John | 60,000,000.00| 3,000,000.00 | 5,000,000| DERIV | N | 2 John | 2,000,000.00 | 6,000,000.00 | - | DCO | Y | 3
記錄您需要告訴我們你已經嘗試了什麼。最基本的(假設你的樣本代表了所有的數據),你需要使用GROUP BY,這是一個相當簡單的查詢。你也不應該將數據發佈爲圖片。將它作爲文本包含在實際問題中。請參閱:https://stackoverflow.com/help/how-to-ask – Alex
Thankyou,我發佈了一個基本數據集,其中包含我正在尋找的結果。基本上我希望根據相同的ID彙總組,並將餘額滾動到該組中的客戶端,並將其標記爲'N'。 – Patty