300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > oracle数据库中sum函数怎么用 SQL Sum()函数

oracle数据库中sum函数怎么用 SQL Sum()函数

时间:2022-07-29 03:04:19

相关推荐

oracle数据库中sum函数怎么用 SQL Sum()函数

在本教程中,我们将演示如何使用SQL SUM函数,此函数计算所有值或不同值的总和。

1. SQL SUM函数简介

SQL SUM函数是一个聚合函数,它返回所有或不同值的总和。需要注意的是,只能将SUM函数应用于数字列。

以下说明了SUM函数的语法。

SUM([ALL|DISTINCT] expression)

ALL运算符用于将聚合应用于所有值。 SUM函数默认使用ALL运算符。

例如,如果有一组集合值:(1,2,3,3,NULL)。 使用SUM函数将返回9,请注意,SUM函数忽略NULL值。

要计算唯一值的总和,可以使用DISTINCT运算符,例如,集合(1,2,3,3,NULL)的SUM(DISTINCT)为6。

2. SQL SUM函数示例

我们将使用下面的employees表进行演示。

mysql> DESC employees;

+---------------+--------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+---------------+--------------+------+-----+---------+----------------+

| employee_id | int(11) | NO | PRI | NULL | auto_increment |

| first_name | varchar(20) | YES | | NULL | |

| last_name | varchar(25) | NO | | NULL | |

| email | varchar(100) | NO | | NULL | |

| phone_number | varchar(20) | YES | | NULL | |

| hire_date | date | NO | | NULL | |

| job_id | int(11) | NO | MUL | NULL | |

| salary | decimal(8,2) | NO | | NULL | |

| manager_id | int(11) | YES | MUL | NULL | |

| department_id | int(11) | YES | MUL | NULL | |

+---------------+--------------+------+-----+---------+----------------+

10 rows in set

要获得所有员工的工资总和,我们将SUM函数应用于salary列,如下面的查询:

SELECT

SUM(salary)

FROM

employees;

要计算在部门ID为 5 中工作的员工的工资总和,在上面的查询中添加一个WHERE子句,如下所示:

SELECT

SUM(salary)

FROM

employees

WHERE

department_id = 5;

+-------------+

| SUM(salary) |

+-------------+

| 41200.00 |

+-------------+

1 row in set

2.1. SQL SUM带有GROUP BY子句的示例

我们经常将SUM函数与GROUP BY子句结合使用来计算分组的总和。

例如,要计算每个部门的员工工资总和,我们将SUM函数应用于salary列,并按department_id列对行进行分组,如下所示:

SELECT

department_id,

SUM(salary)

FROM

employees

GROUP BY

department_id;

执行上面查询语句,得到以下结果:

2.2. SQL SUM带有ORDER BY子句的示例

假设希望将部门工资的总和按降序排序,我们在ORDER BY子句使用SUM函数,如下所示:

例如,如果要获取工资总和大于3000的部门信息,请使用以下语句:

SELECT

e.department_id,

department_name,

SUM(salary)

FROM

employees e

INNER JOIN departments d ON d.department_id = e.department_id

GROUP BY

e.department_id

HAVING

SUM(salary) > 30000

ORDER BY

SUM(salary) DESC;

执行上面查询语句,得到以下结果:

在本教程中,您学习了如何使用SUM函数计算集合中的值的总和。

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。