我的數據庫中包含一些我需要計算積分和獎勵的交易的下表。 每當發生TxType A
時,我應該記錄10分。 然後,我必須從這些點中減去PP
列的值,每次出現TxType B
時。 當計算結果爲零時,就會獲得獎勵。SQL查詢計數(遞歸)
ID TxType PP
1 A 0
2 B 2
3 B 1
4 B 1
5 B 1
6 B 3
7 B 1
8 B 1
9 A 0
10 B 4
11 B 3
12 B 2
13 B 1
14 A 0
15 B 2
我已創建SQL查詢以calc下點作爲遵循
SELECT SUM(
CASE
WHEN TxType = 'A' THEN 10
WHEN TxType = 'B' THEN (PP * -1)
END)
FROM myTable
該查詢返回的8值,而這正是基於樣本數據點的數量。 如何計算髮生的獎勵(在給定示例中爲2)?
感謝您使用相關子查詢幫助做計算(在SQL Server 2008)
可惜這是2008年 – dean
你能否澄清*「該查詢返回值爲8,這正好是基於樣本數據的點數如何計算髮生的獎勵(在給定示例中爲2)?「*查詢返回整個數據集。所以很難說出你在說什麼。 – Khan
@Khan:對不起,但我的查詢只是返回一個值,而不是整個數據集。你錯過了SUM功能嗎?結果8來自30(每個類型A tx的值)小於22(tx類型B時的PP總和) – Lorenzo