MySql教程
MySql用户管理
MySQL数据库
MySql表格和视图
MySQL查询
MySQL索引
MySQL子句
MySQL授权
MySql控制流
MySQL条件
MySQL连接
MySQL键
MySQL触发器
MySQL聚合函数
MySQL常用
MySQL正则表达式
MySql差异性

MySQL sum()函数

MySQL sum()函数用于返回表达式的总和。如果结果集没有任何行,则返回 NULL 。它是MySQL中的一种聚合函数。

语法

以下是MySQL中sum()函数的语法:
SELECT SUM(aggregate_expression)  
FROM tables  
[WHERE conditions];

参数说明

aggregate_expression: 它指定了我们要计算总和的列或表达式。
tables: 它指定我们要从中检索记录的表。在FROM子句中必须至少列出一个表。
conditions: 这是可选的。它指定了要选择的记录必须满足的条件。

MySQL sum()函数示例

考虑我们的数据库有一个名为 的表员工,具有以下数据。现在,我们将通过各种示例来了解此功能:
mysql sum()
1、基本示例
执行以下查询,计算表中所有员工的总工作时间:
mysql> SELECT SUM(working_hours) AS "Total working hours" FROM employees;
输出:
我们将得到如下结果:
 mysql sum()
2、带有WHERE子句的MySQL sum()函数
此示例用于根据WHERE子句中指定的条件返回结果。执行以下查询以计算 working_hours> = 12 的员工的总工作时间。
mysql> SELECT SUM(working_hours) AS "Total working hours" FROM employees WHERE working_hours>=12;
输出:
此语句将给出如下输出:
mysql sum()
3、带有GROUP BY子句的MySQL sum()函数
我们还可以将SUM()函数和GROUP BY子句一起使用,以返回每个组的总和值。例如,此语句使用带有GROUP BY子句的SUM()函数来计算每个员工的总工作时间,如以下查询所示:
mysql> SELECT emp_id, emp_name, occupation, SUM(working_hours) AS "Total working hours" FROM employees GROUP BY occupation;
输出:
在这里,我们可以看到每个员工的总工作时间是根据他们的职业进行分组的。
mysql sum()
4、带有HAVING子句的MySQL sum()函数
在MySQL中,HAVING子句用于对带有sum()函数的组进行 过滤。执行以下语句,计算所有员工的工作时间,并根据他们的职业对其进行分组,并返回结果,其结果为Total_working_hours> 24、
mysql> SELECT emp_id, emp_name, occupation, 
SUM(working_hours) Total_working_hours 
FROM employees 
GROUP BY occupation 
HAVING SUM(working_hours)>24;
输出:
mysql sum()
5、带有DISTINCT子句的MySQL sum()函数
MySQL使用DISTINCT关键字从列名中删除 重复行。此子句还可以与sum()函数一起使用,以返回表中存在的唯一记录数的总和。
执行以下查询,以删除表中work_hours列中的重复记录。员工表,然后计算总和:
mysql> SELECT emp_name, occupation, 
SUM(DISTINCT working_hours) Total_working_hours
FROM employees 
GROUP BY occupation;
输出:
mysql sum()
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4