窗口函数之分析函数(读书笔记一)
来源:互联网 发布:朋友圈链接制作软件 编辑:程序博客网 时间:2024/06/06 09:19
窗口函数建实验表语句
--求某部门按入职日期排序的平均工资、总工资、最高工资、最低工资,以及相关排序
这是实验的脚本,简单的窗口函数使用场景
CREATE TABLE employeeinfo(emp_id NUMBER(7), emp_name VARCHAR2(40), dept_id NUMBER(7), hire_date DATE, salary NUMBER(9,2));INSERT INTO employeeinfo VALUES(100,'wang john',10,to_date('1990-01-01','yyyy-mm-dd'),20000);INSERT INTO employeeinfo VALUES(101,'kochhar neena',90,to_date('1989-09-21','yyyy-mm-dd'),17000);INSERT INTO employeeinfo VALUES(102,'de haan lex',90,to_date('1993-01-13','yyyy-mm-dd'),17000);INSERT INTO employeeinfo VALUES(103,'hunold alexander',60,to_date('1990-01-03','yyyy-mm-dd'),9000);INSERT INTO employeeinfo VALUES(104,'ernst bruce',60,to_date('1991-05-21','yyyy-mm-dd'),6000);INSERT INTO employeeinfo VALUES(105,'austin david',60,to_date('1997-06-25','yyyy-mm-dd'),4800);INSERT INTO employeeinfo VALUES(106,'pataballa valli',60,to_date('1998-02-05','yyyy-mm-dd'),48000);INSERT INTO employeeinfo VALUES(107,'lorentz diana',60,to_date('1999-02-07','yyyy-mm-dd'),42000);INSERT INTO employeeinfo VALUES(108,'greenberg nancy',100,to_date('1994-08-17','yyyy-mm-dd'),12000);INSERT INTO employeeinfo VALUES(109,'faviet daniel',100,to_date('1994-08-16','yyyy-mm-dd'),9000);INSERT INTO employeeinfo VALUES(110,'chen john',100,to_date('1997-09-28','yyyy-mm-dd'),8200);INSERT INTO employeeinfo VALUES(111,'sciarra ismael',100,to_date('1997-09-30','yyyy-mm-dd'),7700);INSERT INTO employeeinfo VALUES(112,'urman jose manuel',100,to_date('1998-03-07','yyyy-mm-dd'),7800);INSERT INTO employeeinfo VALUES(113,'popp luis',100,to_date('1999-12-07','yyyy-mm-dd'),6900);INSERT INTO employeeinfo VALUES(114,'raphaely den',30,to_date('1994-12-07','yyyy-mm-dd'),11000);INSERT INTO employeeinfo VALUES(120,'weiss matthew',50,to_date('1996-07-18','yyyy-mm-dd'),8000);INSERT INTO employeeinfo VALUES(121,'fripp adam',50,to_date('1997-04-10','yyyy-mm-dd'),8200);INSERT INTO employeeinfo VALUES(122,'kaufling payam',50,to_date('1995-05-01','yyyy-mm-dd'),7900);INSERT INTO employeeinfo VALUES(123,'vollman shanta',50,to_date('1997-10-10','yyyy-mm-dd'),6500);INSERT INTO employeeinfo VALUES(124,'mourgos kevin',50,to_date('1999-11-16','yyyy-mm-dd'),4800);INSERT INTO employeeinfo VALUES(145,'russell john',80,to_date('1996-10-01','yyyy-mm-dd'),14000);INSERT INTO employeeinfo VALUES(146,'partners karen',80,to_date('1997-01-05','yyyy-mm-dd'),13500);INSERT INTO employeeinfo VALUES(147,'errazuriz alberto',80,to_date('1997-03-10','yyyy-mm-dd'),12000);INSERT INTO employeeinfo VALUES(148,'cambrault gerald',80,to_date('1999-10-15','yyyy-mm-dd'),11000);INSERT INTO employeeinfo VALUES(149,'zlotkey eleni',80,to_date('2000-01-29','yyyy-mm-dd'),10500);COMMIT;
CREATE TABLE sales(country VARCHAR2(20), sale_month DATE, sales_number NUMBER(7), sales_value NUMBER(9,2));INSERT INTO sales VALUES('USA',to_date('2008-1-1','yyyy-mm-dd'),1200,500000.00);INSERT INTO sales VALUES('USA',to_date('2008-2-1','yyyy-mm-dd'),1150,500000.00);INSERT INTO sales VALUES('USA',to_date('2008-3-1','yyyy-mm-dd'),1300,500000.00);INSERT INTO sales VALUES('USA',to_date('2008-4-1','yyyy-mm-dd'),1280,500000.00);INSERT INTO sales VALUES('USA',to_date('2008-5-1','yyyy-mm-dd'),1350,500000.00);INSERT INTO sales VALUES('USA',to_date('2008-6-1','yyyy-mm-dd'),1400,500000.00);INSERT INTO sales VALUES('USA',to_date('2008-7-1','yyyy-mm-dd'),1300,500000.00);INSERT INTO sales VALUES('USA',to_date('2008-8-1','yyyy-mm-dd'),1250,500000.00);INSERT INTO sales VALUES('USA',to_date('2008-9-1','yyyy-mm-dd'),1400,500000.00);INSERT INTO sales VALUES('USA',to_date('2008-10-1','yyyy-mm-dd'),1380,500000.00);INSERT INTO sales VALUES('USA',to_date('2008-11-1','yyyy-mm-dd'),1450,500000.00);INSERT INTO sales VALUES('USA',to_date('2008-12-1','yyyy-mm-dd'),1500,500000.00);INSERT INTO sales VALUES('USA',to_date('2009-1-1','yyyy-mm-dd'),1600,500000.00);INSERT INTO sales VALUES('USA',to_date('2009-2-1','yyyy-mm-dd'),1390,500000.00);INSERT INTO sales VALUES('USA',to_date('2009-3-1','yyyy-mm-dd'),1730,500000.00);INSERT INTO sales VALUES('USA',to_date('2009-4-1','yyyy-mm-dd'),1900,500000.00);INSERT INTO sales VALUES('USA',to_date('2009-5-1','yyyy-mm-dd'),1850,500000.00);INSERT INTO sales VALUES('USA',to_date('2009-6-1','yyyy-mm-dd'),3800,500000.00);INSERT INTO sales VALUES('USA',to_date('2009-7-1','yyyy-mm-dd'),1700,500000.00);INSERT INTO sales VALUES('USA',to_date('2009-8-1','yyyy-mm-dd'),1490,500000.00);INSERT INTO sales VALUES('USA',to_date('2009-9-1','yyyy-mm-dd'),1830,500000.00);INSERT INTO sales VALUES('USA',to_date('2009-10-1','yyyy-mm-dd'),2000,500000.00);INSERT INTO sales VALUES('USA',to_date('2009-11-1','yyyy-mm-dd'),1950,500000.00);INSERT INTO sales VALUES('USA',to_date('2000-12-1','yyyy-mm-dd'),1900,500000.00);COMMIT;
--求某部门按入职日期排序的平均工资、总工资、最高工资、最低工资,以及相关排序
SELECT emp_id,emp_name,dept_id,hire_date,salary,AVG(salary) OVER (PARTITION BY dept_id ORDER BY hire_date) avg_salary,SUM(salary) OVER (PARTITION BY dept_id ORDER BY hire_date) sum_salary,MAX(salary) OVER (PARTITION BY dept_id ORDER BY hire_date) max_salary,MIN(salary) OVER (PARTITION BY dept_id ORDER BY hire_date) min_salary,COUNT(salary) OVER (PARTITION BY dept_id ORDER BY hire_date) count_salaryFROM employeeinfoWHERE dept_id IN (10,30,50,60);
这是实验的脚本,简单的窗口函数使用场景
0 0
- 窗口函数之分析函数(读书笔记一)
- 分析函数之窗口函数
- 分析函数之窗口函数
- 窗口函数之range的用法(读书笔记三)
- 窗口函数之keep的用法(读书笔记四)
- Hive 之 分析窗口函数
- 窗口函数之排名函数与分析函数
- ORACLE之 分析函数(一)
- pm8001_pci_probe函数分析之scsi_scan_host(一)
- 《代码简洁之道》读书笔记一:函数
- 窗口函数之rows的用法(读书笔记二)
- Oracle 分析函数/窗口函数
- Hive 窗口函数、分析函数
- Hive 窗口函数、分析函数
- oracle:分析函数(评级函数、窗口函数等)
- oracle:分析函数(评级函数、窗口函数等)
- 窗口函数之聚合函数的高级用法(一)
- Spark分析窗口函数
- shell编程
- 初学css个人笔记
- struts2 action 中配置result 的结果类型
- mysql 增加用户
- fseek(f,0,SEEK_SET);
- 窗口函数之分析函数(读书笔记一)
- 体验Ubuntu 14.04
- 第四讲:游戏中的状态机
- 构造函数为什么不能是虚函数
- Sublime Text编辑器如何显示顶部的菜单栏
- 浅析C++中的this指针
- C++ primer 第15章 简单文本查找器例子代码
- 窗口函数之rows的用法(读书笔记二)
- 打开的Word 2007文档自动变成只读(此方法也适用于word 2010)