Sum()over()和count()over分析函数使用

创建测试表

createtabletest(sales_idvarchar2(2),salesvarchar2(10),destvarchar2(10),deptvarchar2(10),revenuenumber);

插入测试数据

insertintotestvalues('11','smith','hangzhou','市场',1000);

insertintotestvalues('12','smith','wenzhou','市场',2000);

insertintotestvalues('13','allen','wenzhou','渠道',3000);

insertintotestvalues('14','allen','wenzhou','渠道',4000);

insertintotestvalues('15','jekch','shanghai','渠道',2500);

insertintotestvalues('11','smith','hangzhou','市场',1000);

insertintotestvalues('12','smith','wenzhou','市场',2000);

commit;

SQL> select * from test;

SALES_ID SALESDESTDEPTREVENUE

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

11smithhangzhou市场1000

12 smithwenzhou市场2000

13allenwenzhou渠道3000

14allenwenzhou渠道4000

15jekchshanghai渠道2500

11smithhangzhou市场1000

12smithwenzhou市场2000

SQL> select sales_id,

2sales,

3dest,

4dept,

5revenue,

6sum(revenue) over() as总销售额

7from test

8;

SALES_ID SALESDESTDEPTREVENUE总销售额

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

11smithhangzhou市场100015500

12smithwenzhou市场200015500

13allenwenzhou渠道300015500

14allenwenzhou渠道400015500

15jekchshanghai渠道250015500

11smithhangzhou市场100015500

12smithwenzhou市场200015500

按照sales_id order by排序计算递加的销售总额

SQL> select sales_id,sales,dest,dept,revenue,sum(revenue)over(order by sales)递加销售总额from test;

SALES_ID SALESDESTDEPTREVENUE递加销售总额

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

14allenwenzhou渠道40007000

13allenwenzhou渠道30007000

15jekchshanghai渠道25009500

11smithhangzhou市场100015500

12smithwenzhou市场200015500

12smithwenzhou市场200015500

11smithhangzhou市场100015500

7 rows selected

SQL> select sales_id,sales,dest,dept,revenue,sum(revenue)over(partition by sales_id)分组销售总额from test;

SALES_ID SALESDESTDEPTREVENUE分组销售总额

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

11smithhangzhou市场10002000

11smithhangzhou市场10002000

12smithwenzhou市场20004000

12smithwenzhou市场20004000

13allenwenzhou渠道30003000

14allenwenzhou渠道40004000

15jekchshanghai渠道25002500

对sales_id进行分组,然后分组求sum

SQL> select sales_id,sales,dest,dept,revenue,sum(revenue)over(partition by sales order by sales_id)分组递加销售总额from test;

SALES_ID SALESDESTDEPTREVENUE分组递加销售总额

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

13allenwenzhou渠道30003000

14allenwenzhou渠道40007000

15jekchshanghai渠道25002500

11smithhangzhou市场10002000

11smithhangzhou市场10002000

12smithwenzhou市场20006000

12smithwenzhou市场20006000

对sales进行分组,然后分组内递加sum。

看下来的count()over()分析函数的使用

SQL> select sales_id,sales,count(*)over()求总计数,

2count(*)over(order by sales_id)递加求计数,

3count(*)over(partition by sales_id)分组求计数,

4count(*)over(partition by sales_id order by sales)分组递加求计数

5from test

6;

SALES_ID SALES求总计数递加求计数分组求计数分组递加求计数

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

11smith7222

11smith7222

12smith7422

12smith7422

13allen7511

14allen7611

15jekch7711

[@more@]

oracle中sum和count,sum()over()和count()over()分析函数相关推荐

  1. oracle中col 的用法,Oracle中的SUM用法讲解,

    Oracle中的SUM用法讲解, Oracle中的SUM条件查询 1.按照区域编码分组查询区域编码.IPTV_NBR不为空的数量.ACC_NBR不为空的数量.所有用户数量 SELECT AREA_CO ...

  2. oracle中累计求和_oracle累积求和分析函数sum over的使用

    oracle sum()over函数的使用 over不能单独使用,要和分析函数:rank(),dense_rank(),row_number()等一起使用. over函数的参数:over(partit ...

  3. oracle 里sum(0),sum(1) ,sum(2) ,sum(num) over,count(*) over() ,coun(*),count(1)

    sum(1)相当于count(*),如果你查询的满足条件的有五条数据 sum(0)是0条, sum(1)就是5, 如果有sum(2)就是10. select sum(1) from emp. 是在em ...

  4. LINQ to SQL语句之 Count/Sum/Min/Max/Avg

    Count/Sum/Min/Max/Avg操作符 适用场景:统计数据吧,比如统计一些数据的个数,求和,最小值,最大值,平均数. Count 说明:返回集合中的元素个数,返回INT类型:不延迟.生成SQ ...

  5. LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg - YJingLee's Blog - 博客园(转)

    Select/Distinct操作符 适用场景:o(∩_∩)o- 查询呗. 说明:和SQL命令中的select作用相似但位置不同,查询表达式中的select及所接子句是放在表达式最后并把子句中的变量也 ...

  6. count相加 sqlserver_mssql sqlserver sum(1)、sum(2)、count(1)、count(8)、count(*)、统计函数应用区别简介...

    二.sum count函数举例说明 create table test(A int,B int,info varchar(10)) go insert into test(A,B,info)value ...

  7. Linq-语句之Select/Distinct和Count/Sum/Min/Max/Avg

    上一篇讲述了LINQ,顺便说了一下Where操作,这篇开始我们继续说LINQ to SQL语句,目的让大家从语句的角度了解LINQ,LINQ包括LINQ to Objects.LINQ to Data ...

  8. 【LINQ】Linq to SQL -- Count/Sum/Min/Max/Avg 操作符

    适用场景 统计数据,比如统计一些数据的个数,求和.最小值.最大值.平均数 Count 说明:返回集合中的元素个数,返回Int类型:不延迟.生成SQL语句为:SELECT COUNT(*) FROM 1 ...

  9. LINQ语句之Select/Distinct和Count/Sum/Min/Max/Avg

    Select/Distinct操作符 适用场景 :查询. 说明 :和SQL命令中的select作用相似但位置不同,查询表达式中的select及所接子句是放在表达式最后并把子句中的变量也就是结果返回回来 ...

  10. linq学习笔记(5):Count/Sum/Min/Max/Avg

    Count/Sum/Min/Max/Avg用于统计数据,比如统计一些数据的个数,求和,最小值,最大值,平均数. 1.Count:返回集合中的元素个数,返回INT类型:不延迟.生成SQL语句为:SELE ...

最新文章

  1. android listview 风格,【Android】listview卡片式列表的实现
  2. 傅里叶变换处理音频c++_积分变换(1)——傅里叶级数
  3. echarts line 去掉最外围方框_最容易被忽略的简单技巧,3000块的化妆班都学不到...
  4. [css] 重置(初始化)css的作用是什么?
  5. 【opencv 学习】仿射变换(图像的旋转、缩放、平移)
  6. html哪个标签显示第一节,HTML第一节
  7. Linux时间子系统之(五):POSIX Clock
  8. GoDiagram可以画节点和连线的WinForms
  9. openssl genrsa
  10. exists/not exists(2020-3-27)
  11. [POI2013]LUK-Triumphal arch
  12. Linux(CentOS) 下安装字体
  13. javaMail实现邮件发送
  14. 在线教育公司的硬件雄心:1秒查词,网易有道发布词典笔二代
  15. 【毕业设计】基于 stm32 的病房呼叫系统 - 物联网 嵌入式 单片机
  16. 备份 二进制备份MySQLdump 增量备份 xtrabackupex
  17. win7部署程序到模拟器上出错:无法连接到设备,错误:0x8007064a
  18. 阻容感基础11:电感器应用(终结篇)
  19. JBPM实现请假流程
  20. 手机python代码查询四六级准考证_【python】【转载】四六级准考证号找回

热门文章

  1. 《项目经理手记》第二章、项目管理-入门知识
  2. matlab 有效前沿 切线,[转载]资产组合有效前沿的解和最优解(MATLAB语言)
  3. PicoScope 6软件 | 垂直分辨率增强和低通过滤的使用
  4. JS 获取 未来时间
  5. 利用26个字母和10个数字,随机生成10个8位密码
  6. 【网络工程师】关于datacom,这些你一定要知道的
  7. java报文封装_Java自定义协议报文封装 添加Crc32校验的实例
  8. java+maven+kafka开发spark streaming demo程序
  9. GateOne CVE-2020-35736 任意文件读取漏洞复现
  10. 计算机系统结构张晨曦第6章ppt,计算机系统结构-张晨曦.zip-第5章.PPT