[英]Aggregating positive values on multiple columns with SQL
我正在嘗試對具有多個列的特定數據庫表執行聚合功能。 例如:
Sample Table ID Column1 Column2 Column3 1 3 5 -2 2 -1 4 6 3 2 -1 3
在此示例中,如果我想對3列中的值求和,我想得到以下結果:
列1:(3 + 2)= 5,列2(5 + 4)= 9,列3(6 + 3)= 9。
因此,我的問題是使用單個SQL查詢是否可能實現此操作,或者我將不得不創建臨時表?
注意:數據集很大。
如果我理解正確,您只想對正值求和,而忽略負數? 如果是這樣,請嘗試:
SELECT
SUM(CASE WHEN Column1 > 0 THEN Column1 ELSE 0 END) AS 'Column1PosTotal',
SUM(CASE WHEN Column2 > 0 THEN Column2 ELSE 0 END) AS 'Column2PosTotal',
SUM(CASE WHEN Column3 > 0 THEN Column3 ELSE 0 END) AS 'Column3PosTotal'
FROM Table
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.