300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > oracle sum函数返回类型 Oracle / PLSQL SUM函数

oracle sum函数返回类型 Oracle / PLSQL SUM函数

时间:2019-04-29 05:17:12

相关推荐

oracle sum函数返回类型 Oracle / PLSQL SUM函数

这个Oracle教程解释了如何使用Oracle / PLSQL SUM函数。

SUM(x)添加x中的所有值,并返回总和。

SUM函数对一组行进行操作,并返回一行输出。Null值被SUM函数忽略。您可以使用DISTINCT关键字排除重复条目。

语法

Oracle / PLSQL SUM函数的语法是:

SELECT SUM( expression )

FROM tables

WHERE conditions;

表达式可以是数字字段或公式。

以下SQL计算工资超过50000的所有员工的总工资。

SELECT SUM(salary) AS "Total Salary"

FROM employees

WHERE salary > 50000;

我们可以在SUM函数中使用DISTINCT子句。下面的SQL语句返回薪水高于$ 50,000 /年的唯一薪水值的总薪水。

SELECT SUM(DISTINCT salary) AS "Total Salary"

FROM employees

WHERE salary > 50000;

如果有两个工资为$ 80,000 /年,这些值中只有一个将用于SUM函数。

我们还可以使用SUM函数中的表达式。

SELECT SUM(sales * 0.05) AS "Total Commission"

FROM orders;

我们还可以使用带有group by子句的SUM函数。以这种方式,SUM将计算每个组的和值。

SELECT department, SUM(sales) AS "Total sales"

FROM order_details

GROUP BY department;

实例

CREATE TABLE EMP (EMPNO NUMBER(4) NOT NULL,

ENAME VARCHAR2(10),

JOB VARCHAR2(9),

SAL NUMBER(7, 2),

DEPTNO NUMBER(2));

INSERT INTO EMP VALUES (1, 'SMITH', 'CLERK', 800, 20);

INSERT INTO EMP VALUES (2, 'ALLEN', 'SALESMAN', 1600, 30);

INSERT INTO EMP VALUES (3, 'WARD', 'SALESMAN', 1250, 30);

INSERT INTO EMP VALUES (4, 'JONES', 'MANAGER', 2975, 20);

INSERT INTO EMP VALUES (5, 'MARTIN','SALESMAN', 1250, 30);

INSERT INTO EMP VALUES (6, 'BLAKE', 'MANAGER', 2850, 30);

INSERT INTO EMP VALUES (7, 'CLARK', 'MANAGER', 2850, 10);

INSERT INTO EMP VALUES (8, 'SCOTT', 'ANALYST', 3000, 20);

INSERT INTO EMP VALUES (9, 'KING', 'PRESIDENT',3000, 10);

INSERT INTO EMP VALUES (10,'TURNER','SALESMAN', 1500, 30);

INSERT INTO EMP VALUES (11,'ADAMS', 'CLERK', 1500, 20);

SQL> select sum(sal) from emp;

SUM(SAL)

----------

22575

SQL>

SUM()函数与group by子句使用实例:

SQL> select deptno, SUM(sal) from emp group by deptno;

DEPTNO SUM(SAL)

---------- ----------

30 8450

20 8275

10 5850

SQL>

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