首页 文章

使用SQL在多列上聚合正值

提问于
浏览
0

我试图在具有多列的特定数据库表上执行聚合函数 . 例如:

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查询是否可以实现这一点,或者我是否需要创建临时表?

注意:数据集很大 .

1 回答

  • 0

    如果我理解正确,你只想要正数值,并忽略负数?如果是这样尝试:

    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
    

相关问题