簡體   English   中英

使用SQL聚合多個列上的正值

[英]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.

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