sql - Oracle SQL 语句中多列的总和(按唯一 ID)
问题描述
我有一个 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;
推荐阅读
- c# - Selenium如何单击div内的占位符
- python - 为什么此代码会导致 excel 中按字母顺序排列的列列表?
- javascript - 谷歌从 api url 调用 json 预订 jquery 自动完成功能不起作用
- python - PyCharm 没有找到 Anaconda Python,给出“无法打开文件 'python.py':[Errno 2] 没有这样的文件或目录?”
- c++ - 具有字符串化的可变参数宏的现代/通用方法
- selenium-webdriver - 将 webdriver 采样器脚本运行到远程机器时出现 Jmeter 错误
- java - PriorityQueue 和比较器 - Java
- jhipster - 节点模块上的警告数量,这些可以在最新版本的 jhipster 中解决吗?
- python - 虚拟环境找不到scipy
- python - 为什么 tensorflow RNN 历史 + 样本预测图与训练数据集看起来如此不同?