MySQL - sum()函数

MySQL - sum()函数 首页 / MySQL入门教程 / MySQL - sum()函数

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

语法

以下是MySQL中sum()函数的语法:

SELECT SUM(aggregate_expression)  
FROM tables  
[WHERE conditions];

参数说明

aggregate_expression   -  它指定要计算总和的列或表达式。

table_name                        -  它指定无涯教程要从中检索记录的表。在FROM子句中必须至少列出一个表。

where condition               -  这是可选的。它指定了选择记录必须满足的条件。

MySQL sum()函数示例

考虑无涯教程的数据库有一个名为 employees 的表,其中包含以下数据。现在,将通过各种示例来了解此函数:

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()函数

HAVING子句用于在MySQL中使用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()函数一起使用,以返回表中存在的唯一记录数的总和值。

执行以下查询,以删除employee表的working_hours列中的重复记录,然后计算总和:

mysql> SELECT emp_name, occupation, 
SUM(DISTINCT working_hours) Total_working_hours
FROM employees 
GROUP BY occupation;

输出:

mysql sum()

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

微服务架构核心20讲 -〔杨波〕

10x程序员工作法 -〔郑晔〕

现代C++编程实战 -〔吴咏炜〕

.NET Core开发实战 -〔肖伟宇〕

NLP实战高手课 -〔王然〕

物联网开发实战 -〔郭朝斌〕

代码之丑 -〔郑晔〕

超级访谈:对话毕玄 -〔毕玄〕

结构沟通力 -〔李忠秋〕

好记忆不如烂笔头。留下您的足迹吧 :)