我有一张member_id和Flags表。我想总结一下member_id有多少个标志(如下所示)。我大约有19个标志,在标志字段中可以有1或0。所以基本上我想对每个Member_Id的每一列求和1
Member_Id | Flag2| Flag3| Flag4|Flag5|Flag6|Flag7|Flag8|
999999b 1 0 0 0 1 1 1
777777a 0 1 1 0 1 0 0
所需结果
Member_Id | Total
999999b 4
777777a 3
最佳答案
您可以使用:
SELECT Member_id, Flag1+Flag2+...+ Flag19 AS total
FROM tab;
如果任何列可为空,则必须使用
COALESCE
来处理它:SELECT Member_id, COALESCE(Flag1,0) + COALESCE(Flag2,0) + ...
FROM tab;
关于sql - Oracle SQL语句中多个列的总和(按唯一ID),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50685674/