sql - Oracle SQL 语句中多列的总和(按唯一 ID)

标签 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

想要的结果

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/

相关文章:

sql - 更新每组单行

oracle - 如何让我的 DBA 暂停并恢复更新大表中每一行的存储过程?

c - 多个进程访问单个表进行插入

python - numpy 中连续整数的总和不正确

mysql - 在 mssql 中,用 '$$' 分隔的整数对单元格中的值求和,但数据类型为 varchar

php - 如何获取数组中某些数组的值之和?

sql - 关系数据库模式 - 关系和外键

sql - 将数字转换为数据类型数字的算术溢出错误

sql - 在 Postgres 中从多行到单列

mysql - ORA-01400 : Can't insert NULL into ("repository name" ."MD_PROJECTS" ."ID")