MySQL Sum() multiple columns
我有一张学生记分卡表。
这是表格,
1 2 3 4 5 6 | subject | mark1 | mark2 | mark3 |......|markn stud1 | 99 | 87 | 92 | | 46 stud2 |.................................... . . studn |....................................| |
现在,我需要为每个分数总计的学生求和。我通过使用
1 2 3 |
执行此操作的另一种方法是生成选择查询。玩这个小提琴。
1 2 3 4 5 |
上面的查询将生成另一个查询,它将为您进行选择。
采样结果:
您将不再需要手动添加所有列。
如果您的任何
这是我认为是正确的答案。
如果第一个为NULL,
IFNULL将返回第二个参数。
可以使用COALESCE,但我更喜欢仅在需要时使用它。
请参见mysql中ifnull和coalesce有什么区别?
对整个计算求和要比对每一列分别求和要好。
1 2 3 |
SELECT学生,SUM(mark1 mark2 mark3 .... markn)AS总计from your_table
简而言之,鉴于您拥有的设计,没有很好的方法来做到这一点。这是关于此主题的一个相关问题:单行的总和值?
如果规范化了架构并创建了一个单独的表" Marks ",该表具有subject_id和mark列,则可以利用关系模型所期望的SUM函数。
那么您的查询将是
1 2 3 4 |
// mysql多行总和
嗨,这是进行列总和的简单方法
1 |
您可以更改数据库结构,以使所有主题行都成为列变量(如电子表格)。这使得这种分析更加容易