Tri*_*der 24 mysql sql logic sum
这是我的表数据 Student

这是我的疑问 -
SELECT id, SUM( maths + chemistry + physics ) AS total, maths, chemistry, physics
FROM `student`
Run Code Online (Sandbox Code Playgroud)
但它扔了一排 -
id total maths chemistry physics
118 760 55 67 55
Run Code Online (Sandbox Code Playgroud)
虽然我想申请所有ID的金额....让我知道我怎么能实现这一目标?
小智 63
Sum是一个聚合函数.你不需要使用它.这是简单的查询 -
select *,(maths + chemistry + physics ) AS total FROM `student`
Run Code Online (Sandbox Code Playgroud)
hjp*_*r92 10
如果您要求获得每个学生的总分,那么SUM这不是您需要的.
SELECT id,
(maths+chemistry+physics) AS total,
maths,
chemistry,
physics
FROM `student`
Run Code Online (Sandbox Code Playgroud)
会做得很好.
小智 8
您无需使用SUM此操作.试试这个查询:
SELECT id, ( maths + chemistry + physics ) AS total, maths, chemistry, physics
FROM `student`
Run Code Online (Sandbox Code Playgroud)
提示:如果其中一个字段可能为NULL,则使用COALESCE将其默认设置为0,否则total将导致NULL。
SELECT *, (
COALESCE(maths, 0) +
COALESCE(chemistry, 0) +
COALESCE(physics, 0)
) AS total
FROM `student`
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
84940 次 |
| 最近记录: |