Sek*_*har 5 sql null sum aggregate-functions
我有这种格式的表格
COL1 COL2 COL3
A NULL 4
A NULL 4
A VAL1 4
A VAL2 4
A VAL3 4
B NULL 5
B VAL1 6
Run Code Online (Sandbox Code Playgroud)
我需要输出如下输出:
COL1 TOTAL VALID
A 20 12
B 11 6
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何获得'VALID'列 - 只有当col2不为null时才应该使用col3的总和.
我能够使用SUM和group by子句正确获取'TOTAL'字段.但是如何计算'VALID'列呢?
有任何想法吗?非常感谢!
spe*_*593 17
像这样的东西:
SELECT col1
, SUM(col3) AS TOTAL
, SUM(CASE WHEN col2 IS NOT NULL THEN col3 ELSE NULL END) AS VALID
FROM mytable
GROUP BY col1
Run Code Online (Sandbox Code Playgroud)
"技巧"是使用CASE表达式有条件地返回col3的值.