有人知道SQL查询可以为多个列获取总和吗?
我正在写一个应用程序,人们可以在杂货店做审计 答案(答案为“1”或“0”)分为几列(见屏幕截图),所有这些答案都连接到有人知道SQL查询可以为多个列获取总和吗?,sql,select,Sql,Select,我正在写一个应用程序,人们可以在杂货店做审计 答案(答案为“1”或“0”)分为几列(见屏幕截图),所有这些答案都连接到审核ID。是否有人知道SQL查询可以为审核id=x的多个列获取一个总和 查询应返回的答案(基于屏幕截图)应为9这将起作用: SELECT * FROM Table1; 1 1 1 1 1 1 2 3 3 3 3 3 select a ,sum(b+c+d+e+f) over (partition by a ) from Table1;
审核ID
。是否有人知道SQL查询可以为审核id
=x的多个列获取一个总和
查询应返回的答案(基于屏幕截图)应为9
这将起作用:
SELECT * FROM Table1;
1 1 1 1 1 1
2 3 3 3 3 3
select a ,sum(b+c+d+e+f) over (partition by a ) from
Table1;
1 5
2 15
对于您的表,查询是:
select audit_id,sum(antwoord+antwoord2+antwoord3+antwoord4+antwoord5+
antwoord6+antwoord7+antwoord8+antwoord9+antwoord10) over (partition by
audit_id ) from
Tablename;
只需使用
+
操作符
SELECT antwoord
+ antwoord2
...
+ antwoord10
FROM answers
WHERE audit_id = x;
您可以尝试简单的
SUM
从奥迪ID=1的[表格]中选择antwoord+antwoord2+…+antwoord10
此查询对所有antwoord值求和 您需要手动添加所有列,如:
SELECT
antwoord
+ antwoord2
+ antwoord3
+ antwoord4
+ antwoord5
+ antwoord6
+ antwoord7
+ antwoord8
+ antwoord9
+ antwoord10
FROM table
WHERE audit_id = ?
但是,这里最好的方法是更改数据库设计,使其更适合您的用例。实际上,您需要的是一个包含3列的表:
audit_id
question_id
answer
合并的前两列是表的主键。每个答案生成一个新行
然后你就可以走了:
select sum(answer) from table where audit_id = ?
这类问题是由于使用了错误的数据库设计,