【Oracle_group by分组查询_深入】教程文章相关的互联网学习教程文章

oracle中关联查询、分组查询

高级查询1.关联查询作用:可以跨越多表查询--查询出员工的名字和他所在部门的的名字//古老的写法select first_name,name from s_emp,s_dept where s_emp.dept_id = s_dept.id;//现在的写法select e.first_name,s.name from s_emp e join s_dept s on e.dept_id = s.id;语法:select 列,列,列 from 表1 join 表2on 表1外键=表2主键案例:-- 找出Sales 部门的所有员工select * from s_emp e join s_dept d on e.dept_id = d.idwher...

oracle中分组排序取TOP n【代码】

数据库中数据处理时,经常需要对某一类的数据取Top n,这就涉及到分组group by 并排序 order by ,之后根据rownum获取前几名数据,oracle数据库中ROW_NUMBER() OVER函数可以实现这个功能,如下: /*获取tab_a表中每个省份counts最大的前10个kpi*/SELECT * FROM (SELECT ROW_NUMBER() OVER(PARTITION BY prov ORDER BY counts DESC) rn, prov, kpi, counts FROM tab_a a) WHERE...

Oracle分组函数cube VS rollup【图】

分析函数cube和rollup魅力首先请看下面例子1)创建表create table group_test (group_id int, job varchar2(10), name varchar2(10), salary int);2)初始化表insert into group_test values (10,‘Coding‘, ‘Bruce‘,1000);insert into group_test values (10,‘Programmer‘,‘Clair‘,1000);insert into group_test values (10,‘Architect‘, ‘Gideon‘,1000);insert into group_test values (10,‘Director‘, ‘Hill‘...

oracle函数listagg的使用说明(分组后连接字段)

name, listagg(ddate,‘ / ‘) within group (order by name) as ddate from aa group by name需要注意的事项如下: 1. 必须得分组,也就是说group by是必须的。 2. listagg函数的第一个参数是需要进行枚举的字段,也就是ddate;第二个参数是枚举数值之间的分隔符;同时还需要进行排序和分组within group (order by name) 本文转自:http://www.2cto.com/database/201304/204096.htmloracle函数listagg的使用说明(分组后连接字段...

oracle分组查询【图】

分组函数 在分组函数中,如果有一个查找项分组,其他项必须也分组,比如下面的语句会报错,因为sal分组了,而ename没有分组:1.显示工资最高的员工: 2.显示所有员工的平均工资: 2.1使用系统函数: 2.2自定义计算:3.显示工资高于平均工资的员工信息:对查询结果进行分组统计:4.查询每个部门的最高工资和平均工资:5.显示每个部门的每种岗位的平均工资与最高工资:6.显示平均工资低于2000的部门号和它的平均工资:对数据分组的...

sql分组获取第一条记录(sql+oracle)

sql版本 select * from (select t.CloseDate,t.ExpiryDate,t.DataTypeLookupID,ROW_NUMBER() over(partition by CloseDate,ExpiryDate,DataTypeLookupID order by CloseDate,ExpiryDate,DataTypeLookupID) as new_index from dbo.IndexVolatilityMarketData t ) a where a.new_index=1 oracle版本 select * from (select t.as_of_date,t.origination_date,t.maturity_date,rank()over(partition by t.as_of_date,t.origination...

oracle分组函数

分组函数的使用:常用的分组函数:Avg(求平均值),sum(求总和),min(求最小值),max(求最大值),count(求总个数),wm_concat(行转列)例:select count( distinct deptno) from emp ;行转列: select deptno 部门号,wm_concat(ename) 部门中员工的名字 from emp group by deptno;----------------------------------------------------分组函数与空值:(分组函数会自动忽略空值)1. 统计员工的平均工资Select sum(sal)/co...

Oracle按不同时间分组统计【代码】【图】

如下表table1: 日期(exportDate) 数量(amount) -------------- ----------- 14-2月 -08 20 10-3月 -08 2 14-4月 -08 6 14-6月 -08 75 24-10月-09 23 14-11月-09 45 04-8月 -10 5 04-9月 -10 44 0...

oracle 分组查询

球员信息表 T: 球员id 球员名称 所在球队 12344 麦迪 火箭 34323 科比 活人 球员赛季得分表A,字段如下: id 球员id 赛季 场均得分 01 34323 2013 34 02 12344 2013 12 03 43221 2013 23 04 12344 2014 20 05 ...

Oracle(零)--> 伪列和分组聚合(Oracle 开篇,比较初级啦~)

1)select 语句中的运算使用列别名 如果显示数据库中存储的所有图书的列表时,需要将列标题显示为"Titil of books",可以在 select 子句中列名称的后面列出列别名。 sql:SELECT title AS "Title of books",category FROM books; 注意可选关键字 AS,以便区分列别名和列名称。 准则:如果列名称包含空格、特舒符号或者不希望全部以大写字母显示它,那么必须将它包含在 " " 中。如果只包含一个单词,则不需要 " " 。 2)使用 distin...

[转]【ROLLUP】Oracle分组函数之ROLLUP魅力

本文通过演示给出Oracle ROLLUP分组函数的用法,体验一下Oracle在统计查询领域中的函数魅力。ROLLUP分组函数可以理解为Group By分组函数封装后的精简用法,这里同时给出ROLLUP的Group By的改写思路。1.初始化实验坏境1)创建测试表group_testSECOOLER@ora11g> create table group_test (group_id int, job varchar2(10), name varchar2(10), salary int);Table created.2)初始化数据insert into group_test values (10,‘Coding‘...

oracle中分组中的ROLLUP和CUBE选项【图】

在进行多列分组统计时,如果直接使用GROUP BY子句指定分组列,则只能生成基于所有分组列的统计结果。如果在GROUP BY子句中使用ROLLUP语句或CUBE语句,除了生成基于所有指定列的分组统计外,还可以生成基于指定列不同子集的统计结果。使用ROLLUP选项,除了生成基于所有指定列的分组统计外,还对指定的分组列从左开始的每个子集进行统计。例如,GROUP BY ROLLUP(A,B,C)形成的统计包括以下内容。?GROUP BY():不基于任何列的整个查询结...

[SQL]-Oracle分组函数ROULLUP的应用【代码】【图】

CLP.ITEMNAME AS PORVINCE,CLC.ITEMNAME AS CITY,SUM(CASE WHEN C2.ITEMNAME= ‘标准产品‘ THEN C.BUSINESSSUM ELSE 0 END) AS 标准产品,SUM(CASE WHEN C2.ITEMNAME= ‘VIP产品‘ THEN C.BUSINESSSUM ELSE 0 END) AS VIP产品,SUM(C.BUSINESSSUM) AS 总计FROM BUSINESS_CONTRACT CLEFT JOIN STORE_INFO SON C.STORES = S.SNOLEFT JOIN CODE_LIBRARY CLPON S.PROVINCE = CLP.ITEMNOAND CLP.CODENO = ‘ProvinceCodeByHand‘LEFT J...

ORA-00937:不是单组分组函数_Oracle【图】

SELECT USER_ID,2 USER_NAME,3 USER_SEX,4 MAX(USER_AGE),5 SUM(USER_MONEY) AS USER_MONEY6 USER_TEL,7 USER_EMAIL,8 USER_ADD,9 USER_STATUS, 10 FROM USERS 11 ORDER BY USER_NAME, USER_SEX, USER_STATUS; 12 类似这种,多个字段的GROUP BY该怎么写。 1.USER_TEL, USER_EMAIL, USER_AD不是分组函数里的字段。 你是group by 的语法不太熟悉。 对于gr...

oracle学习篇五:组函数,分组统计

常用组函数: 1.ccount() 求出全部记录数。 2.max() 求出一组最大值 3.min() 求出一组最小值 4.avg() 求出平均值 5.sum() 求和 --1.统计员工数量: select count(empno) from emp; --2.求出最高薪资 select max(sal) from emp; --3.求出最低薪资 select min(sal) from emp; --4.求出平均薪资 select avg(sal) from emp; --查询各部门员工数量 select deptno,count(empno) from emp group by deptno --查询...