这个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>

oracle sum函数返回类型,Oracle / PLSQL SUM函数相关推荐

  1. mysql sum函数返回类型_MySQL的sum函数返回的门类

    MySQL的sum函数返回的类型 今天项目切换数据库时,出错 访问数据库的代码大概是这样: String sql = "select sum(number) as sumNumberOfOn ...

  2. C++基础第6章:函数(2)——函数体、函数返回类型

    文章目录 1.函数体 2.函数返回类型 1.函数体 隐式返回:没有写return,常见的就是void函数.main函数是比较特殊的函数,所以他虽然是int main(),但是最后也可以不返回,也就是隐 ...

  3. C语言练习题,三色球抽取,从3个红球,5个白球,6个黑球中任意取出8个作为一组进行输出。在每组中可以没有黑球,但必须要有红球和白球。编程实现以上功能。用函数返回其组合数,在函数中打印每组的组合

    三色球分组 从3个红球,5个白球,6个黑球中任意取出8个作为一组进行输出.在每组中可以没有黑球,但必须要有红球和白球.编程实现以上功能.用函数返回其组合数,在函数中打印每组的组合 函数原型为: int ...

  4. (14年)2.写一个函数int func(int n)其返回值是n的逆序整数,例如n=123函数返回321.n=72839,函数返回93827

    #include <stdio.h> #include <stdlib.h> /*写一个函数int func(int n)其返回值是n的逆序整数 例如n=123.函数返回321 ...

  5. mysql sum返回类型_MySQL的sum函数返回的类型

    今天项目切换数据库时,出错 访问数据库的代码大概是这样: String sql = "select sum(number) as sumNumberOfOneDay from tableNa ...

  6. oracle怎么截取long类型,Oracle 数据库中 Long 类型字段的读取

    最近在一个项目中遇到了需要读取 Oracle 数据库中的 Long 类型的字段的问题,折腾了好久,最后找到了其中的一个解决办法,决定记下了做个明灯吧! 在用 Mybatis 将该字段的数据映射到 St ...

  7. 理解OpenCV中的宏定义 CVAPI(函数返回类型)

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 读代码时看到语句 CVAPI(IplImage* ...

  8. void*作为函数返回类型(C语言)

    返回void*的情况 void*作为函数的返回类型的情况 导入 void*介绍 代码示例 结论 void*作为函数的返回类型的情况 导入  C语言中有一种返回值类型比较特殊,就是void*,void作 ...

  9. ostream作为函数返回值_GO语言基础函数

    GO语言基础–函数 函数是组织好的.可重复使用的.用于执行指定任务的代码块.本文介绍了Go语言中函数的相关内容. 函数定义 Go语言中定义函数使用func关键字,具体格式如下: func 函数名(参数 ...

最新文章

  1. centos删除系统自带的httpd
  2. Java多线程1:进程与线程概述
  3. [转]php-mobile-detect
  4. NetworkStream.write只能使用一次,后面再使用无效
  5. spring security之httpSecurity使用示例
  6. VTK:绘图之CompareRandomGeneratorsCxx
  7. zooland 新开源的RPC项目,希望大家在开发的微服务的时候多一种选择,让微服务开发简单,并且容易上手。...
  8. java 获取打印机缺纸_JAVASE 语言概述和JAVA
  9. 优秀!90后博士做出世界级成果,发32篇SCI,四拿国奖,两获国际荣誉
  10. mysql用户变量递归_MYSQL递归树查询的实现
  11. java学习--基础知识进阶第五天--API、 Object类 System类、日期相关类、包装类正则表达式...
  12. AndroidStudio打开的Gradle项目不识别成相应文件,gradle无响应
  13. arm体系结构编程-入门介绍
  14. linux 打开8000端口,Linux中如何开启8080端口供外界访问和开启允许对外访问的端口8000...
  15. java find symbol,cannot find symbol
  16. Ubuntu18.04设置自动连接WIFI
  17. 遭遇:“说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。”错误...
  18. C语言编程练习,扫雷游戏
  19. 缓存雪崩、击穿和穿透
  20. 2020年20道经典Redis面试题答案整理,看完后茅塞顿开!(上)

热门文章

  1. RestFull架构
  2. vue隐藏浏览器_一分钟学会Vue的条件渲染和列表渲染
  3. 云计算的发展趋势_2020年的云计算发展趋势预测
  4. u盘启动蓝屏 索尼vaio_U盘重装系统出现蓝屏?不要急,这四个手段轻松帮你解决!...
  5. ai怎么取消颗粒效果_AI教程3个超实用设计技巧教程
  6. 三维错切变换矩阵_图像的仿射变换
  7. python集合可以修改吗_修改包含Python3中的集合的集合列表-问答-阿里云开发者社区-阿里云...
  8. 华三交换机路由器图标_弱电箱网口不够用,用华三8口千兆交换机搞定
  9. python进程暂停_如何在Python中暂停多进程?
  10. Java中的迭代与递归