我有一个看起来像这样的表:
id test1 test2 test3 test4 ... test200
1 90 87 85 86 70
2 100 95 83 92 80
.
.
18000
我知道有一些标准操作可以对单个列执行求和和平均值,并将两列的值相乘,但是是否可以在具有给定id的行中的所有列上执行此操作?如果不清楚,我想跨行而不是跨列执行this之类的操作。感谢
答案 0 :(得分:6)
您可能最好重新设计表格,使其没有200列。
e.g。
Id testnum score
1 1 90
1 2 87
...
2 1 100
2 2 95
...
180000
现在你可以这样做一个查询:
select sum(score) as totalscore
from mynewtable
where id=1
答案 1 :(得分:2)
怎么样:
select id, sum(test1 + test2 + ...) as summation
group by id
问题是你有这么多列吗?此解决方案无法顺利处理多个列。
答案 2 :(得分:0)
可能有一些扭曲的SQL处理整行的内容(我怀疑),但你仍然需要指定列名,否则你的计算中会包含ID号。