Oracle分析函数概述
Oracle中的分析函数和聚合函数相似,但是对于每一组记录,无论 多少行,聚合函数只返回一行值,而分析函数对其中每一行记录都返回值。这一组记录,称 为分析函数的一个(WINDOW),窗口决定了要处理数据的范围,该范围在物理上可以由指定 的行数来确定,或者在逻辑上由相对偏移量来确定。分析函数总是在除了ORDER BY之外的其 他子句运算后才执行的,所以它不能出现在where、group by等子句中,只能出现在select列 表和order by子句中。
准备测试数据
在SCOTT用户下执行如下语句,创建测试 表和测试数据:
create table lw_sales(dept_id varchar2(6), sale_date date, goods_type varchar2(4), sale_cnt number(10)); COMMENT ON TABLE LW_SALES IS '销售数据测试表。' / SET DEFINE OFF; Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S00', TO_DATE('03/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G00', 400); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S02', TO_DATE('04/05/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G00', 400); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S01', TO_DATE('03/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G00', 700); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S01', TO_DATE('04/13/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G00', 900); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S00', TO_DATE('04/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G01', 300); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S00', TO_DATE('03/15/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G01', 30); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S01', TO_DATE('04/15/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G01', 400); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S02', TO_DATE('03/10/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G01', 200); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S02', TO_DATE('03/06/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G01', 70); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S01', TO_DATE('03/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G01', 400); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S01', TO_DATE('04/07/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G02', 300); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S01', TO_DATE('03/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G02', 300); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S02', TO_DATE('03/09/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G02', 900); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S01', TO_DATE('03/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G02', 800); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S02', TO_DATE('04/22/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G03', 300); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S00', TO_DATE('03/21/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G03', 200); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S01', TO_DATE('03/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G03', 600); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S02', TO_DATE('04/05/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G03', 800); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S01', TO_DATE('04/03/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G03', 200); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S00', TO_DATE('03/06/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G03', 800); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S01', TO_DATE('03/09/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G04', 800); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S01', TO_DATE('03/07/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G04', 30); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S01', TO_DATE('04/20/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G04', 900); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S01', TO_DATE('03/21/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G04', 800); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S00', TO_DATE('03/02/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G04', 500); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S00', TO_DATE('03/10/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G04', 500); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S02', TO_DATE('04/06/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G04', 300); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S00', TO_DATE('03/07/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G05', 400); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S02', TO_DATE('03/06/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G05', 200); Insert into LW_SALES (DEPT_ID, SALE_DATE, GOODS_TYPE, SALE_CNT) Values ('S00', TO_DATE('03/06/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'G05', 500); COMMIT;
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索insert
, insert函数
, 00
, values
, 2013
, lw 600p
, mi200e
, to_date
MM/DD/YYYY
oracle 分析函数、oracle分析函数大全、oracle分析函数详解、oracle的分析函数、oracle统计分析函数,以便于您获取更多的相关知识。