我有一张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/

10-10 09:25