sum函数是MySQL中用于计算所有或不同数值总和的聚合函数。它可以应用于数字列,常用于统计分组数据的总和。例如,计算成绩表中每个学生的总分。在使用sum函数时,可以添加all、distinct或expression1作为参数。all为默认参数,表示对所有数值求和。distinct参数用于计算不同(唯一)数值的和。例如,查询用户ID为...
mysql-sum
sum函数是MySQL中用于计算所有或不同数值总和的聚合函数。它可以应用于数字列,常用于统计分组数据的总和。例如,计算成绩表中每个学生的总分。
在使用sum函数时,可以添加all、distinct或expression1作为参数。all为默认参数,表示对所有数值求和。distinct参数用于计算不同(唯一)数值的和。例如,查询用户ID为1658的数据时,使用sum(user_id)将返回所有相关数据的累加总和,为1309条。
sum函数还可以用于对多个列进行运算后求和。忽略null值。例如,查询ID为15452495570的数据时,sum(mode+scene)将返回两个数值的总和。
结合group by语句,sum函数可以按分组求和。例如,统计sp_user_workout表中每个用户ID的总kcal摄入量。
需要注意的是,当没有符合条件的数据或某一列全为null时,sum()函数会返回null而不是0。
此外,sum(1)可以视为count(1)的等价,用于计算总记录数。在分组统计中,sum(1)和sum(kcal)与select count(1)和select count(kcal)效果相同,分别用于统计分组数量和总kcal摄入量。2024-10-17