car*_*nas 2 sql oracle sum unique multiple-columns
我有一个members_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
Run Code Online (Sandbox Code Playgroud)
期望的结果
Member_Id | Total
999999b 4
777777a 3
Run Code Online (Sandbox Code Playgroud)
你可以使用:
SELECT Member_id, Flag1+Flag2+...+ Flag19 AS total
FROM tab;
Run Code Online (Sandbox Code Playgroud)
如果任何列可以为空,则必须通过以下方式处理它COALESCE:
SELECT Member_id, COALESCE(Flag1,0) + COALESCE(Flag2,0) + ...
FROM tab;
Run Code Online (Sandbox Code Playgroud)