日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

oracle数据库函数手册,Oracle分析函数参考手册(转)

發布時間:2025/3/12 数据库 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle数据库函数手册,Oracle分析函数参考手册(转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

22/06/2005 12:22 FP

Oracle從8.1.6開始提供分析函數,分析函數用于計算基于組的某種聚合值,它和聚合函數的不同之處是對于每個組返回多行,而聚合函數對于每個組只返回一行。

下面例子中使用的表來自Oracle自帶的HR用戶下的表,如果沒有安裝該用戶,可以在SYS用戶下運行$ORACLE_HOME/demo/schema/human_resources/hr_main.sql來創建。

本文如果未指明,缺省是在HR用戶下運行例子。

開窗函數的的理解:

開窗函數指定了分析函數工作的數據窗口大小,這個數據窗口大小可能會隨著行的變化而變化,舉例如下:

over(order by salary) 按照salary排序進行累計,order by是個默認的開窗函數

over(partition by deptno)按照部門分區

over(order by salary range between 50 preceding and 150 following)

每行對應的數據窗口是之前行幅度值不超過50,之后行幅度值不超過150

over(order by salary rows between 50 preceding and 150 following)

每行對應的數據窗口是之前50行,之后150行

over(order by salary rows between unbounded preceding and unbounded following)

每行對應的數據窗口是從第一行到最后一行,等效:

over(order by salary range between unbounded preceding and unbounded following)

主要參考資料:《expert one-on-one》 Tom Kyte 《Oracle9i SQL Reference》第6章

AVG

功能描述:用于計算一個組和數據窗口內表達式的平均值。

SAMPLE:下面的例子中列c_mavg計算員工表中每個員工的平均薪水報告,該平均值由當前員工和與之具有相同經理的前一個和后一個三者的平均數得來;

SELECT manager_id, last_name, hire_date, salary,

AVG(salary) OVER (PARTITION BY manager_id ORDER BY hire_date

ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) AS c_mavg

FROM employees;

MANAGER_ID LAST_NAME HIRE_DATE SALARY C_MAVG

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

100 Kochhar 21-SEP-89 17000 17000

100 De Haan 13-JAN-93 17000 15000

100 Raphaely 07-DEC-94 11000 11966.6667

100 Kaufling 01-MAY-95 7900 10633.3333

100 Hartstein 17-FEB-96 13000 9633.33333

100 Weiss 18-JUL-96 8000 11666.6667

100 Russell 01-OCT-96 14000 11833.3333

CORR

功能描述:返回一對表達式的相關系數,它是如下的縮寫:

COVAR_POP(expr1,expr2)/STDDEV_POP(expr1)*STDDEV_POP(expr2))

從統計上講,相關性是變量之間關聯的強度,變量之間的關聯意味著在某種程度

上一個變量的值可由其它的值進行預測。通過返回一個-1~1之間的一個數, 相關

系數給出了關聯的強度,0表示不相關。

SAMPLE:下例返回1998年月銷售收入和月單位銷售的關系的累積系數(本例在SH用戶下運行)

SELECT t.calendar_month_number,

CORR (SUM(s.amount_sold), SUM(s.quantity_sold))

OVER (ORDER BY t.calendar_month_number) as CUM_CORR

FROM sales s, times t

WHERE s.time_id = t.time_id AND calendar_year = 1998

GROUP BY t.calendar_month_number

ORDER BY t.calendar_month_number;

CALENDAR_MONTH_NUMBER CUM_CORR

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

1

2 1

3 .994309382

4 .852040875

5 .846652204

6 .871250628

7 .910029803

8 .917556399

9 .920154356

10 .86720251

11 .844864765

12 .903542662

COVAR_POP

功能描述:返回一對表達式的總體協方差。

SAMPLE:下例CUM_COVP返回定價和最小產品價格的累積總體協方差

SELECT product_id, supplier_id,

COVAR_POP(list_price, min_price)

OVER (ORDER BY product_id, supplier_id) AS CUM_COVP,

COVAR_SAMP(list_price, min_price)

OVER (ORDER BY product_id, supplier_id) AS CUM_COVS

FROM product_information p

WHERE category_id = 29

ORDER BY product_id, supplier_id;

PRODUCT_ID SUPPLIER_ID CUM_COVP CUM_COVS

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

1774 103088 0

1775 103087 1473.25 2946.5

1794 103096 1702.77778 2554.16667

1825 103093 1926.25 2568.33333

2004 103086 1591.4 1989.25

2005 103086 1512.5 1815

2416 103088 1475.97959 1721.97619

.

.

COVAR_SAMP

功能描述:返回一對表達式的樣本協方差

SAMPLE:下例CUM_COVS返回定價和最小產品價格的累積樣本協方差

SELECT product_id, supplier_id,

COVAR_POP(list_price, min_price)

OVER (ORDER BY product_id, supplier_id) AS CUM_COVP,

COVAR_SAMP(list_price, min_price)

OVER (ORDER BY product_id, supplier_id) AS CUM_COVS

FROM product_information p

WHERE category_id = 29

ORDER BY product_id, supplier_id;

PRODUCT_ID SUPPLIER_ID CUM_COVP CUM_COVS

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

1774 103088 0

1775 103087 1473.25 2946.5

1794 103096 1702.77778 2554.16667

1825 103093 1926.25 2568.33333

2004 103086 1591.4 1989.25

2005 103086 1512.5 1815

2416 103088 1475.97959 1721.97619

.

.

COUNT

功能描述:對一組內發生的事情進行累積計數,如果指定*或一些非空常數,count將對所有行計數,如果指定一個表達式,count返回表達式非空賦值的計數,當有相同值出現時,這些相等的值都會被納入被計算的值;可以使用DISTINCT來記錄去掉一組中完全相同的數據后出現的行數。

SAMPLE:下面例子中計算每個員工在按薪水排序中當前行附近薪水在[n-50,n+150]之間的行數,n表示當前行的薪水

例如,Philtanker的薪水2200,排在他之前的行中薪水大于等于2200-50的有1行,排在他之后的行中薪水小于等于2200+150的行沒有,所以count計數值cnt3為2(包括自己當前行);cnt2值相當于小于等于當前行的SALARY值的所有行數

SELECT last_name, salary, COUNT(*) OVER () AS cnt1,

COUNT(*) OVER (ORDER BY salary) AS cnt2,

COUNT(*) OVER (ORDER BY salary RANGE BETWEEN 50 PRECEDING

AND 150 FOLLOWING) AS cnt3 FROM employees;

LAST_NAME SALARY CNT1 CNT2 CNT3

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

Olson 2100 107 1 3

Markle 2200 107 3 2

Philtanker 2200 107 3 2

Landry 2400 107 5 8

Gee 2400 107 5 8

Colmenares 2500 107 11 10

Patel 2500 107 11 10

.

.

CUME_DIST

功能描述:計算一行在組中的相對位置,CUME_DIST總是返回大于0、小于或等于1的數,該數表示該行在N行中的位置。例如,在一個3行的組中,返回的累計分布值為1/3、2/3、3/3

SAMPLE:下例中計算每個工種的員工按薪水排序依次累積出現的分布百分比

SELECT job_id, last_name, salary, CUME_DIST()

OVER (PARTITION BY job_id ORDER BY salary) AS cume_dist

FROM employees WHERE job_id LIKE 'PU%';

JOB_ID LAST_NAME SALARY CUME_DIST

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

PU_CLERK Colmenares 2500 .2

PU_CLERK Himuro 2600 .4

PU_CLERK Tobias 2800 .6

PU_CLERK Baida 2900 .8

PU_CLERK Khoo 3100 1

PU_MAN Raphaely 11000 1

DENSE_RANK

功能描述:根據ORDER BY子句中表達式的值,從查詢返回的每一行,計算它們與其它行的相對位置。組內的數據按ORDER BY子句排序,然后給每一行賦一個號,從而形成一個序列,該序列從1開始,往后累加。每次ORDER BY表達式的值發生變化時,該序列也隨之增加。有同樣值的行得到同樣的數字序號(認為null時相等的)。密集的序列返回的時沒有間隔的數

SAMPLE:下例中計算每個員工按部門分區再按薪水排序,依次出現的序列號(注意與RANK函數的區別)

SELECT d.department_id , e.last_name, e.salary, DENSE_RANK()

OVER (PARTITION BY e.department_id ORDER BY e.salary) as drank

FROM employees e, departments d

WHERE e.department_id = d.department_id

AND d.department_id IN ('60', '90');

DEPARTMENT_ID LAST_NAME SALARY DRANK

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

60 Lorentz 4200 1

60 Austin 4800 2

60 Pataballa 4800 2

60 Ernst 6000 3

60 Hunold 9000 4

90 Kochhar 17000 1

90 De Haan 17000 1

90 King 24000 2

FIRST

功能描述:從DENSE_RANK返回的集合中取出排在最前面的一個值的行(可能多行,因為值可能相等),因此完整的語法需要在開始處加上一個集合函數以從中取出記錄

SAMPLE:下面例子中DENSE_RANK按部門分區,再按傭金commission_pct排序,FIRST取出傭金最低的對應的所有行,然后前面的MAX函數從這個集合中取出薪水最低的值;LAST取出傭金最高的對應的所有行,然后前面的MIN函數從這個集合中取出薪水最高的值

SELECT last_name, department_id, salary,

MIN(salary) KEEP (DENSE_RANK FIRST ORDER BY commission_pct)

OVER (PARTITION BY department_id) "Worst",

MAX(salary) KEEP (DENSE_RANK LAST ORDER BY commission_pct)

OVER (PARTITION BY department_id) "Best"

FROM employees

WHERE department_id in (20,80)

ORDER BY department_id, salary;

LAST_NAME DEPARTMENT_ID SALARY Worst Best

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

Fay 20 6000 6000 13000

Hartstein 20 13000 6000 13000

Kumar 80 6100 6100 14000

Banda 80 6200 6100 14000

Johnson 80 6200 6100 14000

Ande 80 6400 6100 14000

Lee 80 6800 6100 14000

Tuvault 80 7000 6100 14000

Sewall 80 7000 6100 14000

Marvins 80 7200 6100 14000

Bates 80 7300 6100 14000

.

.

.

FIRST_VALUE

功能描述:返回組中數據窗口的第一個值。

SAMPLE:下面例子計算按部門分區按薪水排序的數據窗口的第一個值對應的名字,如果薪水的第一個值有多個,則從多個對應的名字中取缺省排序的第一個名字

SELECT department_id, last_name, salary, FIRST_VALUE(last_name)

OVER (PARTITION BY department_id ORDER BY salary ASC ) AS lowest_sal

FROM employees

WHERE department_id in(20,30);

DEPARTMENT_ID LAST_NAME SALARY LOWEST_SAL

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

20 Fay 6000 Fay

20 Hartstein 13000 Fay

30 Colmenares 2500 Colmenares

30 Himuro 2600 Colmenares

30 Tobias 2800 Colmenares

30 Baida 2900 Colmenares

30 Khoo 3100 Colmenares

30 Raphaely 11000 Colmenares

LAG

功能描述:可以訪問結果集中的其它行而不用進行自連接。它允許去處理游標,就好像游標是一個數組一樣。在給定組中可參考當前行之前的行,這樣就可以從組中與當前行一起選擇以前的行。Offset是一個正整數,其默認值為1,若索引超出窗口的范圍,就返回默認值(默認返回的是組中第一行),其相反的函數是LEAD

SAMPLE:下面的例子中列prev_sal返回按hire_date排序的前1行的salary值

SELECT last_name, hire_date, salary,

LAG(salary, 1, 0) OVER (ORDER BY hire_date) AS prev_sal

FROM employees

WHERE job_id = 'PU_CLERK';

LAST_NAME HIRE_DATE SALARY PREV_SAL

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

Khoo 18-5月 -95 3100 0

Tobias 24-7月 -97 2800 3100

Baida 24-12月-97 2900 2800

Himuro 15-11月-98 2600 2900

Colmenares 10-8月 -99 2500 2600

LAST

功能描述:從DENSE_RANK返回的集合中取出排在最后面的一個值的行(可能多行,因為值可能相等),因此完整的語法需要在開始處加上一個集合函數以從中取出記錄

SAMPLE:下面例子中DENSE_RANK按部門分區,再按傭金commission_pct排序,FIRST取出傭金最低的對應的所有行,然后前面的MAX函數從這個集合中取出薪水最低的值;LAST取出傭金最高的對應的所有行,然后前面的MIN函數從這個集合中取出薪水最高的值

SELECT last_name, department_id, salary,

MIN(salary) KEEP (DENSE_RANK FIRST ORDER BY commission_pct)

OVER (PARTITION BY department_id) "Worst",

MAX(salary) KEEP (DENSE_RANK LAST ORDER BY commission_pct)

OVER (PARTITION BY department_id) "Best"

FROM employees

WHERE department_id in (20,80)

ORDER BY department_id, salary;

LAST_NAME DEPARTMENT_ID SALARY Worst Best

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

Fay 20 6000 6000 13000

Hartstein 20 13000 6000 13000

Kumar 80 6100 6100 14000

Banda 80 6200 6100 14000

Johnson 80 6200 6100 14000

Ande 80 6400 6100 14000

Lee 80 6800 6100 14000

Tuvault 80 7000 6100 14000

Sewall 80 7000 6100 14000

Marvins 80 7200 6100 14000

Bates 80 7300 6100 14000

.

LAST_VALUE

功能描述:返回組中數據窗口的最后一個值。

SAMPLE:下面例子計算按部門分區按薪水排序的數據窗口的最后一個值對應的名字,如果薪水的最后一個值有多個,則從多個對應的名字中取缺省排序的最后一個名字

SELECT department_id, last_name, salary, LAST_VALUE(last_name)

OVER(PARTITION BY department_id ORDER BY salary) AS highest_sal

FROM employees

WHERE department_id in(20,30);

DEPARTMENT_ID LAST_NAME SALARY HIGHEST_SAL

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

20 Fay 6000 Fay

20 Hartstein 13000 Hartstein

30 Colmenares 2500 Colmenares

30 Himuro 2600 Himuro

30 Tobias 2800 Tobias

30 Baida 2900 Baida

30 Khoo 3100 Khoo

30 Raphaely 11000 Raphaely

LEAD

功能描述:LEAD與LAG相反,LEAD可以訪問組中當前行之后的行。Offset是一個正整數,其默認值為1,若索引超出窗口的范圍,就返回默認值(默認返回的是組中第一行)

SAMPLE:下面的例子中每行的"NextHired"返回按hire_date排序的下一行的hire_date值

SELECT last_name, hire_date,

LEAD(hire_date, 1) OVER (ORDER BY hire_date) AS "NextHired"

FROM employees WHERE department_id = 30;

LAST_NAME HIRE_DATE NextHired

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

Raphaely 07-DEC-94 18-MAY-95

Khoo 18-MAY-95 24-JUL-97

Tobias 24-JUL-97 24-DEC-97

Baida 24-DEC-97 15-NOV-98

Himuro 15-NOV-98 10-AUG-99

Colmenares 10-AUG-99

MAX

功能描述:在一個組中的數據窗口中查找表達式的最大值。

SAMPLE:下面例子中dept_max返回當前行所在部門的最大薪水值

SELECT department_id, last_name, salary,

MAX(salary) OVER (PARTITION BY department_id) AS dept_max

FROM employees WHERE department_id in (10,20,30);

DEPARTMENT_ID LAST_NAME SALARY DEPT_MAX

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

10 Whalen 4400 4400

20 Hartstein 13000 13000

20 Fay 6000 13000

30 Raphaely 11000 11000

30 Khoo 3100 11000

30 Baida 2900 11000

30 Tobias 2800 11000

30 Himuro 2600 11000

30 Colmenares 2500 11000

MIN

功能描述:在一個組中的數據窗口中查找表達式的最小值。

SAMPLE:下面例子中dept_min返回當前行所在部門的最小薪水值

SELECT department_id, last_name, salary,

MIN(salary) OVER (PARTITION BY department_id) AS dept_min

FROM employees WHERE department_id in (10,20,30);

DEPARTMENT_ID LAST_NAME SALARY DEPT_MIN

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

10 Whalen 4400 4400

20 Hartstein 13000 6000

20 Fay 6000 6000

30 Raphaely 11000 2500

30 Khoo 3100 2500

30 Baida 2900 2500

30 Tobias 2800 2500

30 Himuro 2600 2500

30 Colmenares 2500 2500

NTILE

功能描述:將一個組分為"表達式"的散列表示,例如,如果表達式=4,則給組中的每一行分配一個數(從1到4),如果組中有20行,則給前5行分配1,給下5行分配2等等。如果組的基數不能由表達式值平均分開,則對這些行進行分配時,組中就沒有任何percentile的行數比其它percentile的行數超過一行,最低的percentile是那些擁有額外行的percentile。例如,若表達式=4,行數=21,則percentile=1的有5行,percentile=2的有5行等等。

SAMPLE:下例中把6行數據分為4份

SELECT last_name, salary,

NTILE(4) OVER (ORDER BY salary DESC) AS quartile FROM employees

WHERE department_id = 100;

LAST_NAME SALARY QUARTILE

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

Greenberg 12000 1

Faviet 9000 1

Chen 8200 2

Urman 7800 2

Sciarra 7700 3

Popp 6900 4

PERCENT_RANK

功能描述:和CUME_DIST(累積分配)函數類似,對于一個組中給定的行來說,在計算那行的序號時,先減1,然后除以n-1(n為組中所有的行數)。該函數總是返回0~1(包括1)之間的數。

SAMPLE:下例中如果Khoo的salary為2900,則pr值為0.6,因為RANK函數對于等值的返回序列值是一樣的

SELECT department_id, last_name, salary,

PERCENT_RANK()

OVER (PARTITION BY department_id ORDER BY salary) AS pr

FROM employees

WHERE department_id < 50

ORDER BY department_id,salary;

DEPARTMENT_ID LAST_NAME SALARY PR

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

10 Whalen 4400 0

20 Fay 6000 0

20 Hartstein 13000 1

30 Colmenares 2500 0

30 Himuro 2600 0.2

30 Tobias 2800 0.4

30 Baida 2900 0.6

30 Khoo 3100 0.8

30 Raphaely 11000 1

40 Mavris 6500 0

PERCENTILE_CONT

功能描述:返回一個與輸入的分布百分比值相對應的數據值,分布百分比的計算方法見函數PERCENT_RANK,如果沒有正好對應的數據值,就通過下面算法來得到值:

RN = 1+ (P*(N-1)) 其中P是輸入的分布百分比值,N是組內的行數

CRN = CEIL(RN) FRN = FLOOR(RN)

if (CRN = FRN = RN) then

(value of expression from row at RN)

else

(CRN - RN) * (value of expression for row at FRN) +

(RN - FRN) * (value of expression for row at CRN)

注意:本函數與PERCENTILE_DISC的區別在找不到對應的分布值時返回的替代值的計算方法不同

SAMPLE:在下例中,對于部門60的Percentile_Cont值計算如下:

P=0.7 N=5 RN =1+ (P*(N-1)=1+(0.7*(5-1))=3.8 CRN = CEIL(3.8)=4

FRN = FLOOR(3.8)=3

(4 - 3.8)* 4800 + (3.8 - 3) * 6000 = 5760

SELECT last_name, salary, department_id,

PERCENTILE_CONT(0.7) WITHIN GROUP (ORDER BY salary)

OVER (PARTITION BY department_id) "Percentile_Cont",

PERCENT_RANK()

OVER (PARTITION BY department_id ORDER BY salary) "Percent_Rank"

FROM employees WHERE department_id IN (30, 60);

LAST_NAME SALARY DEPARTMENT_ID Percentile_Cont Percent_Rank

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

Colmenares 2500 30 3000 0

Himuro 2600 30 3000 0.2

Tobias 2800 30 3000 0.4

Baida 2900 30 3000 0.6

Khoo 3100 30 3000 0.8

Raphaely 11000 30 3000 1

Lorentz 4200 60 5760 0

Austin 4800 60 5760 0.25

Pataballa 4800 60 5760 0.25

Ernst 6000 60 5760 0.75

Hunold 9000 60 5760 1

PERCENTILE_DISC

功能描述:返回一個與輸入的分布百分比值相對應的數據值,分布百分比的計算方法見函數CUME_DIST,如果沒有正好對應的數據值,就取大于該分布值的下一個值。

注意:本函數與PERCENTILE_CONT的區別在找不到對應的分布值時返回的替代值的計算方法不同

SAMPLE:下例中0.7的分布值在部門30中沒有對應的Cume_Dist值,所以就取下一個分布值0.83333333所對應的SALARY來替代

SELECT last_name, salary, department_id,

PERCENTILE_DISC(0.7) WITHIN GROUP (ORDER BY salary )

OVER (PARTITION BY department_id) "Percentile_Disc",

CUME_DIST() OVER (PARTITION BY department_id ORDER BY salary) "Cume_Dist"

FROM employees

WHERE department_id in (30, 60);

LAST_NAME SALARY DEPARTMENT_ID Percentile_Disc Cume_Dist

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

Colmenares 2500 30 3100 .166666667

Himuro 2600 30 3100 .333333333

Tobias 2800 30 3100 .5

Baida 2900 30 3100 .666666667

Khoo 3100 30 3100 .833333333

Raphaely 11000 30 3100 1

Lorentz 4200 60 6000 .2

Austin 4800 60 6000 .6

Pataballa 4800 60 6000 .6

Ernst 6000 60 6000 .8

Hunold 9000 60 6000 1

RANK

功能描述:根據ORDER BY子句中表達式的值,從查詢返回的每一行,計算它們與其它行的相對位置。組內的數據按ORDER BY子句排序,然后給每一行賦一個號,從而形成一個序列,該序列從1開始,往后累加。每次ORDER BY表達式的值發生變化時,該序列也隨之增加。有同樣值的行得到同樣的數字序號(認為null時相等的)。然而,如果兩行的確得到同樣的排序,則序數將隨后跳躍。若兩行序數為1,則沒有序數2,序列將給組中的下一行分配值3,DENSE_RANK則沒有任何跳躍。

SAMPLE:下例中計算每個員工按部門分區再按薪水排序,依次出現的序列號(注意與DENSE_RANK函數的區別)

SELECT d.department_id , e.last_name, e.salary, RANK()

OVER (PARTITION BY e.department_id ORDER BY e.salary) as drank

FROM employees e, departments d

WHERE e.department_id = d.department_id

AND d.department_id IN ('60', '90');

DEPARTMENT_ID LAST_NAME SALARY DRANK

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

60 Lorentz 4200 1

60 Austin 4800 2

60 Pataballa 4800 2

60 Ernst 6000 4

60 Hunold 9000 5

90 Kochhar 17000 1

90 De Haan 17000 1

90 King 24000 3

RATIO_TO_REPORT

功能描述:該函數計算expression/(sum(expression))的值,它給出相對于總數的百分比,即當前行對sum(expression)的貢獻。

SAMPLE:下例計算每個員工的工資占該類員工總工資的百分比

SELECT last_name, salary, RATIO_TO_REPORT(salary) OVER () AS rr

FROM employees

WHERE job_id = 'PU_CLERK';

LAST_NAME SALARY RR

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

Khoo 3100 .223021583

Baida 2900 .208633094

Tobias 2800 .201438849

Himuro 2600 .18705036

Colmenares 2500 .179856115

REGR_ (Linear Regression) Functions

功能描述:這些線性回歸函數適合最小二乘法回歸線,有9個不同的回歸函數可使用。

REGR_SLOPE:返回斜率,等于COVAR_POP(expr1, expr2) / VAR_POP(expr2)

REGR_INTERCEPT:返回回歸線的y截距,等于

AVG(expr1) - REGR_SLOPE(expr1, expr2) * AVG(expr2)

REGR_COUNT:返回用于填充回歸線的非空數字對的數目

REGR_R2:返回回歸線的決定系數,計算式為:

If VAR_POP(expr2) = 0 then return NULL

If VAR_POP(expr1) = 0 and VAR_POP(expr2) != 0 then return 1

If VAR_POP(expr1) > 0 and VAR_POP(expr2 != 0 then

return POWER(CORR(expr1,expr),2)

REGR_AVGX:計算回歸線的自變量(expr2)的平均值,去掉了空對(expr1, expr2)后,等于AVG(expr2)

REGR_AVGY:計算回歸線的應變量(expr1)的平均值,去掉了空對(expr1, expr2)后,等于AVG(expr1)

REGR_SXX: 返回值等于REGR_COUNT(expr1, expr2) * VAR_POP(expr2)

REGR_SYY: 返回值等于REGR_COUNT(expr1, expr2) * VAR_POP(expr1)

REGR_SXY: 返回值等于REGR_COUNT(expr1, expr2) * COVAR_POP(expr1, expr2)

(下面的例子都是在SH用戶下完成的)

SAMPLE 1:下例計算1998年最后三個星期中兩種產品(260和270)在周末的銷售量中已×××數量和總數量的累積斜率和回歸線的截距

SELECT t.fiscal_month_number "Month", t.day_number_in_month "Day",

REGR_SLOPE(s.amount_sold, s.quantity_sold)

OVER (ORDER BY t.fiscal_month_desc, t.day_number_in_month) AS CUM_SLOPE,

REGR_INTERCEPT(s.amount_sold, s.quantity_sold)

OVER (ORDER BY t.fiscal_month_desc, t.day_number_in_month) AS CUM_ICPT

FROM sales s, times t

WHERE s.time_id = t.time_id

AND s.prod_id IN (270, 260)

AND t.fiscal_year=1998

AND t.fiscal_week_number IN (50, 51, 52)

AND t.day_number_in_week IN (6,7)

ORDER BY t.fiscal_month_desc, t.day_number_in_month;

Month Day CUM_SLOPE CUM_ICPT

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

12 12 -68 1872

12 12 -68 1872

12 13 -20.244898 1254.36735

12 13 -20.244898 1254.36735

12 19 -18.826087 1287

12 20 62.4561404 125.28655

12 20 62.4561404 125.28655

12 20 62.4561404 125.28655

12 20 62.4561404 125.28655

12 26 67.2658228 58.9712313

12 26 67.2658228 58.9712313

12 27 37.5245541 284.958221

12 27 37.5245541 284.958221

12 27 37.5245541 284.958221

SAMPLE 2:下例計算1998年4月每天的累積交易數量

SELECT UNIQUE t.day_number_in_month,

REGR_COUNT(s.amount_sold, s.quantity_sold)

OVER (PARTITION BY t.fiscal_month_number ORDER BY t.day_number_in_month)

"Regr_Count"

FROM sales s, times t

WHERE s.time_id = t.time_id

AND t.fiscal_year = 1998 AND t.fiscal_month_number = 4;

DAY_NUMBER_IN_MONTH Regr_Count

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

1 825

2 1650

3 2475

4 3300

.

.

.

26 21450

30 22200

SAMPLE 3:下例計算1998年每月銷售量中已×××數量和總數量的累積回歸線決定系數

SELECT t.fiscal_month_number,

REGR_R2(SUM(s.amount_sold), SUM(s.quantity_sold))

OVER (ORDER BY t.fiscal_month_number) "Regr_R2"

FROM sales s, times t

WHERE s.time_id = t.time_id

AND t.fiscal_year = 1998

GROUP BY t.fiscal_month_number

ORDER BY t.fiscal_month_number;

FISCAL_MONTH_NUMBER Regr_R2

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

1

2 1

3 .927372984

4 .807019972

5 .932745567

6 .94682861

7 .965342011

8 .955768075

9 .959542618

10 .938618575

11 .880931415

12 .882769189

SAMPLE 4:下例計算1998年12月最后兩周產品260的銷售量中已×××數量和總數量的累積平均值

SELECT t.day_number_in_month,

REGR_AVGY(s.amount_sold, s.quantity_sold)

OVER (ORDER BY t.fiscal_month_desc, t.day_number_in_month)

"Regr_AvgY",

REGR_AVGX(s.amount_sold, s.quantity_sold)

OVER (ORDER BY t.fiscal_month_desc, t.day_number_in_month)

"Regr_AvgX"

FROM sales s, times t

WHERE s.time_id = t.time_id

AND s.prod_id = 260

AND t.fiscal_month_desc = '1998-12'

AND t.fiscal_week_number IN (51, 52)

ORDER BY t.day_number_in_month;

DAY_NUMBER_IN_MONTH Regr_AvgY Regr_AvgX

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

14 882 24.5

14 882 24.5

15 801 22.25

15 801 22.25

16 777.6 21.6

18 642.857143 17.8571429

18 642.857143 17.8571429

20 589.5 16.375

21 544 15.1111111

22 592.363636 16.4545455

22 592.363636 16.4545455

24 553.846154 15.3846154

24 553.846154 15.3846154

26 522 14.5

27 578.4 16.0666667

SAMPLE 5:下例計算產品260和270在1998年2月周末銷售量中已×××數量和總數量的累積REGR_SXY, REGR_SXX, and REGR_SYY統計值

SELECT t.day_number_in_month,

REGR_SXY(s.amount_sold, s.quantity_sold)

OVER (ORDER BY t.fiscal_year, t.fiscal_month_desc) "Regr_sxy",

REGR_SYY(s.amount_sold, s.quantity_sold)

OVER (ORDER BY t.fiscal_year, t.fiscal_month_desc) "Regr_syy",

REGR_SXX(s.amount_sold, s.quantity_sold)

OVER (ORDER BY t.fiscal_year, t.fiscal_month_desc) "Regr_sxx"

FROM sales s, times t

WHERE s.time_id = t.time_id

AND prod_id IN (270, 260)

AND t.fiscal_month_desc = '1998-02'

AND t.day_number_in_week IN (6,7)

ORDER BY t.day_number_in_month;

DAY_NUMBER_IN_MONTH Regr_sxy Regr_syy Regr_sxx

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

1 18870.4 2116198.4 258.4

1 18870.4 2116198.4 258.4

1 18870.4 2116198.4 258.4

1 18870.4 2116198.4 258.4

7 18870.4 2116198.4 258.4

8 18870.4 2116198.4 258.4

14 18870.4 2116198.4 258.4

15 18870.4 2116198.4 258.4

21 18870.4 2116198.4 258.4

22 18870.4 2116198.4 258.4

ROW_NUMBER

功能描述:返回有序組中一行的偏移量,從而可用于按特定標準排序的行號。

SAMPLE:下例返回每個員工再在每個部門中按員工號排序后的順序號

SELECT department_id, last_name, employee_id, ROW_NUMBER()

OVER (PARTITION BY department_id ORDER BY employee_id) AS emp_id

FROM employees

WHERE department_id < 50;

DEPARTMENT_ID LAST_NAME EMPLOYEE_ID EMP_ID

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

10 Whalen 200 1

20 Hartstein 201 1

20 Fay 202 2

30 Raphaely 114 1

30 Khoo 115 2

30 Baida 116 3

30 Tobias 117 4

30 Himuro 118 5

30 Colmenares 119 6

40 Mavris 203 1

STDDEV

功能描述:計算當前行關于組的標準偏離。(Standard Deviation)

SAMPLE:下例返回部門30按雇傭日期排序的薪水值的累積標準偏離

SELECT last_name, hire_date,salary,

STDDEV(salary) OVER (ORDER BY hire_date) "StdDev"

FROM employees

WHERE department_id = 30;

LAST_NAME HIRE_DATE SALARY StdDev

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

Raphaely 07-12月-94 11000 0

Khoo 18-5月 -95 3100 5586.14357

Tobias 24-7月 -97 2800 4650.0896

Baida 24-12月-97 2900 4035.26125

Himuro 15-11月-98 2600 3649.2465

Colmenares 10-8月 -99 2500 3362.58829

STDDEV_POP

功能描述:該函數計算總體標準偏離,并返回總體變量的平方根,其返回值與VAR_POP函數的平方根相同。(Standard Deviation-Population)

SAMPLE:下例返回部門20、30、60的薪水值的總體標準偏差

SELECT department_id, last_name, salary,

STDDEV_POP(salary) OVER (PARTITION BY department_id) AS pop_std

FROM employees

WHERE department_id in (20,30,60);

DEPARTMENT_ID LAST_NAME SALARY POP_STD

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

20 Hartstein 13000 3500

20 Fay 6000 3500

30 Raphaely 11000 3069.6091

30 Khoo 3100 3069.6091

30 Baida 2900 3069.6091

30 Colmenares 2500 3069.6091

30 Himuro 2600 3069.6091

30 Tobias 2800 3069.6091

60 Hunold 9000 1722.32401

60 Ernst 6000 1722.32401

60 Austin 4800 1722.32401

60 Pataballa 4800 1722.32401

60 Lorentz 4200 1722.32401

STDDEV_SAMP

功能描述: 該函數計算累積樣本標準偏離,并返回總體變量的平方根,其返回值與VAR_POP函數的平方根相同。(Standard Deviation-Sample)

SAMPLE:下例返回部門20、30、60的薪水值的樣本標準偏差

SELECT department_id, last_name, hire_date, salary,

STDDEV_SAMP(salary) OVER

(PARTITION BY department_id ORDER BY hire_date

ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS cum_sdev

FROM employees

WHERE department_id in (20,30,60);

DEPARTMENT_ID LAST_NAME HIRE_DATE SALARY CUM_SDEV

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

20 Hartstein 17-2月 -96 13000

20 Fay 17-8月 -97 6000 4949.74747

30 Raphaely 07-12月-94 11000

30 Khoo 18-5月 -95 3100 5586.14357

30 Tobias 24-7月 -97 2800 4650.0896

30 Baida 24-12月-97 2900 4035.26125

30 Himuro 15-11月-98 2600 3649.2465

30 Colmenares 10-8月 -99 2500 3362.58829

60 Hunold 03-1月 -90 9000

60 Ernst 21-5月 -91 6000 2121.32034

60 Austin 25-6月 -97 4800 2163.33077

60 Pataballa 05-2月 -98 4800 1982.42276

60 Lorentz 07-2月 -99 4200 1925.61678

SUM

功能描述:該函數計算組中表達式的累積和。

SAMPLE:下例計算同一經理下員工的薪水累積值

SELECT manager_id, last_name, salary,

SUM (salary) OVER (PARTITION BY manager_id ORDER BY salary

RANGE UNBOUNDED PRECEDING) l_csum

FROM employees

WHERE manager_id in (101,103,108);

MANAGER_ID LAST_NAME SALARY L_CSUM

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

101 Whalen 4400 4400

101 Mavris 6500 10900

101 Baer 10000 20900

101 Greenberg 12000 44900

101 Higgins 12000 44900

103 Lorentz 4200 4200

103 Austin 4800 13800

103 Pataballa 4800 13800

103 Ernst 6000 19800

108 Popp 6900 6900

108 Sciarra 7700 14600

108 Urman 7800 22400

108 Chen 8200 30600

108 Faviet 9000 39600

VAR_POP

功能描述:(Variance Population)該函數返回非空集合的總體變量(忽略null),VAR_POP進行如下計算:

(SUM(expr2) - SUM(expr)2 / COUNT(expr)) / COUNT(expr)

SAMPLE:下例計算1998年每月銷售的累積總體和樣本變量(本例在SH用戶下運行)

SELECT t.calendar_month_desc,

VAR_POP(SUM(s.amount_sold))

OVER (ORDER BY t.calendar_month_desc) "Var_Pop",

VAR_SAMP(SUM(s.amount_sold))

OVER (ORDER BY t.calendar_month_desc) "Var_Samp"

FROM sales s, times t

WHERE s.time_id = t.time_id AND t.calendar_year = 1998

GROUP BY t.calendar_month_desc;

CALENDAR Var_Pop Var_Samp

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

1998-01 0

1998-02 6.1321E+11 1.2264E+12

1998-03 4.7058E+11 7.0587E+11

1998-04 4.6929E+11 6.2572E+11

1998-05 1.5524E+12 1.9405E+12

1998-06 2.3711E+12 2.8453E+12

1998-07 3.7464E+12 4.3708E+12

1998-08 3.7852E+12 4.3260E+12

1998-09 3.5753E+12 4.0222E+12

1998-10 3.4343E+12 3.8159E+12

1998-11 3.4245E+12 3.7669E+12

1998-12 4.8937E+12 5.3386E+12

VAR_SAMP

功能描述:(Variance Sample)該函數返回非空集合的樣本變量(忽略null),VAR_POP進行如下計算:

(SUM(expr*expr)-SUM(expr)*SUM(expr)/COUNT(expr))/(COUNT(expr)-1)

SAMPLE:下例計算1998年每月銷售的累積總體和樣本變量

SELECT t.calendar_month_desc,

VAR_POP(SUM(s.amount_sold))

OVER (ORDER BY t.calendar_month_desc) "Var_Pop",

VAR_SAMP(SUM(s.amount_sold))

OVER (ORDER BY t.calendar_month_desc) "Var_Samp"

FROM sales s, times t

WHERE s.time_id = t.time_id AND t.calendar_year = 1998

GROUP BY t.calendar_month_desc;

CALENDAR Var_Pop Var_Samp

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

1998-01 0

1998-02 6.1321E+11 1.2264E+12

1998-03 4.7058E+11 7.0587E+11

1998-04 4.6929E+11 6.2572E+11

1998-05 1.5524E+12 1.9405E+12

1998-06 2.3711E+12 2.8453E+12

1998-07 3.7464E+12 4.3708E+12

1998-08 3.7852E+12 4.3260E+12

1998-09 3.5753E+12 4.0222E+12

1998-10 3.4343E+12 3.8159E+12

1998-11 3.4245E+12 3.7669E+12

1998-12 4.8937E+12 5.3386E+12

VARIANCE

功能描述:該函數返回表達式的變量,Oracle計算該變量如下:

如果表達式中行數為1,則返回0

如果表達式中行數大于1,則返回VAR_SAMP

SAMPLE:下例返回部門30按雇傭日期排序的薪水值的累積變化

SELECT last_name, salary, VARIANCE(salary)

OVER (ORDER BY hire_date) "Variance"

FROM employees

WHERE department_id = 30;

LAST_NAME SALARY Variance

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

Raphaely 11000 0

Khoo 3100 31205000

Tobias 2800 21623333.3

Baida 2900 16283333.3

Himuro 2600 13317000

Colmenares 2500 11307000

=====================================

連續求和問題:

select name,sum(cnt) over(order by rownum) from t1;

總結

以上是生活随笔為你收集整理的oracle数据库函数手册,Oracle分析函数参考手册(转)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

不卡av在线免费观看 | 日本免费久久高清视频 | 久久国产精品偷 | 黄色影院在线免费观看 | 久久国产露脸精品国产 | 国内精品久久久久久久久久久久 | 国产一级视屏 | 国内精品久久久久久 | 国际精品网 | 一本一本久久a久久精品综合小说 | 久久久久久久久久久网 | 免费高清无人区完整版 | 日韩精品观看 | 国产一区欧美在线 | 精品国产91亚洲一区二区三区www | 成人黄色短片 | 黄色片网站 | 91麻豆产精品久久久久久 | 欧美精品成人在线 | 免费看黄网站在线 | 97视频在线观看视频免费视频 | 成人黄色大片在线免费观看 | 色婷婷五| 国产美女视频网站 | 国产精品自产拍在线观看网站 | 欧美日韩国产综合网 | 嫩草伊人久久精品少妇av | 91桃色在线免费观看 | 青青河边草观看完整版高清 | 中文字幕在线国产 | 国产在线播放一区二区 | 国产综合片| 亚洲国产日韩在线 | 久久人人97超碰国产公开结果 | 国产精品女教师 | 国产伦精品一区二区三区高清 | 国产高清在线不卡 | 在线观av | 国产高清在线免费 | 久久综合婷婷国产二区高清 | 欧美性猛片 | 国产裸体视频网站 | 视频一区视频二区在线观看 | 日韩精品三区四区 | 久久久在线视频 | 免费日韩电影 | 国产在线观看免费观看 | 国产激情小视频在线观看 | 国内精品久久久久影院一蜜桃 | 日韩欧美综合在线视频 | 欧美一级激情 | 国产丝袜| 久久99精品久久久久婷婷 | av手机在线播放 | 亚洲 欧洲 国产 精品 | 亚洲精品国精品久久99热一 | 精品久久久一区二区 | 精品一区二区综合 | 久草在线免费新视频 | 国产精品a成v人在线播放 | 人人干狠狠干 | 国产高潮久久 | 99精品电影 | 国产精品久久久久久久久久久免费看 | 五月天堂色 | 中文字幕av免费观看 | 很黄很污的视频网站 | 69国产盗摄一区二区三区五区 | 亚洲国产日本 | 丁香婷婷亚洲 | 国产亚洲视频在线 | 在线观看国产成人av片 | av解说在线| 视频一区在线播放 | 成人久久毛片 | 成年人在线看视频 | 国产精品18久久久久久vr | 蜜臀久久99精品久久久久久网站 | 精品国产一区二区三区久久久久久 | 在线导航福利 | 精品国产一区二区三区四区在线观看 | 日韩久久精品一区二区三区下载 | 天天操狠狠干 | 欧美性大战 | 97成人精品区在线播放 | 久久久成人精品 | 最新国产在线观看 | 国产精品一区二区在线播放 | 小草av在线播放 | 热久久免费国产视频 | 一区二区三区三区在线 | 免费观看黄 | 三级av免费观看 | 国产美腿白丝袜足在线av | 成人在线观看你懂的 | 午夜精品导航 | 久久久久久免费毛片精品 | 日本中文一区二区 | 国产精品免费人成网站 | 五月婷婷六月综合 | 免费观看完整版无人区 | 国产成人精品av在线观 | 免费在线观看黄 | www久久国产 | 国产片网站 | 91成人在线网站 | 亚洲综合色激情五月 | 一区视频在线 | 天天插日日插 | 亚洲精品久久久蜜臀下载官网 | 国产成人精品女人久久久 | 国产h片在线观看 | 九九久久久 | 久久久久久综合网天天 | 偷拍精偷拍精品欧洲亚洲网站 | 亚洲小视频在线观看 | 丰满少妇麻豆av | 永久免费观看视频 | 国产免费小视频 | 探花视频免费在线观看 | 婷婷色在线资源 | 午夜精品久久久久久中宇69 | 天天av在线播放 | 狠狠干狠狠插 | 91激情视频在线 | 色吧av色av| 欧美黄色免费 | 色婷婷97 | 97av视频在线| 西西人体www444| 成人久久 | 日韩精品视频免费在线观看 | 免费亚洲视频在线观看 | 免费中午字幕无吗 | 在线日韩 | 2021国产在线视频 | 亚州av一区 | 亚洲日本精品视频 | 国产视频精品视频 | 久久只精品99品免费久23小说 | 黄色av免费在线 | 国产va饥渴难耐女保洁员在线观看 | 91精品久久久久久久久 | 欧美日韩有码 | 伊人亚洲综合 | 亚洲欧洲国产日韩精品 | 色在线视频 | 久久系列 | 天天干,天天草 | 一区二区三区福利 | 亚洲国产片 | 日本中文在线播放 | 深爱开心激情 | 亚洲黄色免费在线 | 51精品国自产在线 | 97国产视频 | 国产午夜亚洲精品 | 国产精品一级视频 | 十八岁以下禁止观看的1000个网站 | 久久久资源 | 在线观看视频国产一区 | 久久久免费观看视频 | 色插综合 | 91视频午夜 | 国产精品久久久久久久久久久久午 | 亚洲视频精品在线 | 久久观看免费视频 | 亚洲精品视频在线看 | 波多野结衣在线观看一区二区三区 | 九九久久在线看 | 日韩91精品 | 国产精品美女999 | 国产精品日韩久久久久 | 韩日电影在线 | 99热官网 | 天天综合入口 | 美女精品| 久草在线视频免赞 | 久久成视频 | 五月婷婷免费 | 欧美一级片在线 | 美女网站色免费 | 91中文字幕 | 久久99国产精品二区护士 | 久久久美女 | www婷婷| 欧美色图视频一区 | 最近av在线| 五月综合网| 婷婷在线免费视频 | 亚洲精品字幕在线 | 日韩精品一区二区三区中文字幕 | 欧美一区二视频在线免费观看 | 久久精品91久久久久久再现 | 久久免费播放 | 国产高清在线一区 | 久久国产精品99久久人人澡 | 久久激情小视频 | 久久精品1区2区 | 激情综合交 | 中文字幕九九 | 精品一区二区精品 | 亚洲高清国产视频 | 91成人在线观看喷潮 | 毛片网在线| 欧美日韩国产免费视频 | 亚洲一区网 | 最近中文字幕视频完整版 | 色综合中文综合网 | 亚洲好视频 | 国产精成人品免费观看 | www.久久久.com | 国产精品久久三 | 黄色小网站在线观看 | 免费亚洲视频 | 色视频网站在线 | 9在线观看免费高清完整版 玖玖爱免费视频 | 国产高清中文字幕 | 人人插人人射 | 奇米影视四色8888 | www在线免费观看 | 免费福利片2019潦草影视午夜 | 免费在线观看av网址 | 久久久精品 一区二区三区 国产99视频在线观看 | 亚洲欧洲国产精品 | 日本韩国在线不卡 | 成人一级在线 | 99爱在线| 国产一区视频在线观看免费 | 国产精品12| 日韩av高清在线观看 | 欧美 激情在线 | 综合色综合 | 国偷自产中文字幕亚洲手机在线 | 在线精品播放 | 久久99网站 | 国产69精品久久久久久久久久 | 亚洲精品中文字幕视频 | 国产在线中文 | 五月婷婷久久丁香 | 91成人观看| 97人人模人人爽人人喊中文字 | 国产精品国产三级国产不产一地 | 中文字幕高清 | 天天干天天操天天操 | 亚洲欧美视频 | 特级西西444www大精品视频免费看 | 中文字幕三区 | 最新中文在线视频 | 五月婷婷影视 | 亚洲美女在线一区 | 国产日韩精品欧美 | 国产精品久久久久久久久久久久午 | 久久香蕉国产 | 亚洲情感电影大片 | 久草免费福利在线观看 | 免费毛片aaaaaa | www.天天操.com | 国产精品久久久久久欧美 | 91精品无人成人www | 国产综合婷婷 | 91日韩在线 | 超碰在线中文字幕 | 日韩成人欧美 | 99精品视频网站 | 午夜久久电影网 | 国产免费av一区二区三区 | 婷婷四房综合激情五月 | 国产亚洲综合在线 | 国产视频黄 | 国产高清免费 | 免费色婷婷| 亚洲一片黄 | 天天做日日爱夜夜爽 | 亚洲精品国精品久久99热 | 成人黄色在线观看视频 | 精品自拍网| 手机成人在线电影 | 中文字幕在线观看的网站 | 中文字幕在线播放第一页 | 日韩精品91偷拍在线观看 | 91热视频在线观看 | 日韩电影中文字幕在线观看 | 中文字幕在线免费播放 | 激情五月婷婷综合网 | 黄色成人av在线 | 久久久国产视频 | 国产中文在线观看 | 国产亚洲午夜高清国产拍精品 | 一区二区三区日韩在线观看 | 欧美怡红院视频 | 丁香花中文字幕 | 国产色在线观看 | 亚洲视频,欧洲视频 | 国产美腿白丝袜足在线av | www好男人 | 亚洲精品午夜一区人人爽 | 欧美日本啪啪无遮挡网站 | 欧美黑吊大战白妞欧美 | 91精品系列| 色综合小说 | 久久综合狠狠狠色97 | 丁香伊人网 | 久久精品一区 | 国产精品成人一区二区 | 成人一区二区三区中文字幕 | 成人在线观看你懂的 | 久久视频精品在线 | 天天色天天搞 | 在线播放日韩av | 亚洲免费小视频 | 色久网| 91在线视频 | 国产精品日韩久久久久 | 日本一区二区免费在线观看 | 久久久久久久久久久精 | 麻豆视频一区 | 国产精品久久久久久久久久99 | 天天干,夜夜操 | 天天操夜夜做 | 在线观看www. | 亚洲一区二区91 | 欧美日韩综合在线观看 | 亚洲国产电影在线观看 | 四川妇女搡bbbb搡bbbb搡 | 久久久午夜电影 | 久久6精品 | 国产视频1区2区 | 久久精品99国产精品 | 天天婷婷| 91久久在线观看 | 日日夜夜天天久久 | 黄色成品视频 | 国产精品久久在线观看 | 精品久久久久久久久久久院品网 | 国精产品满18岁在线 | 69国产精品视频 | 色偷偷网站视频 | 在线视频黄 | 亚洲综合成人专区片 | 精品一二三四五区 | 久久免费的精品国产v∧ | 欧美射射射| 日韩精品视频免费专区在线播放 | 99在线免费视频观看 | 亚洲国产免费看 | 久久综合色影院 | 91av在线播放| 91精品中文字幕 | 国产香蕉视频 | 在线a人v观看视频 | 国产精品 日韩精品 | 日日夜夜av | av网站播放| www.狠狠色.com| 91丨九色丨高潮 | 一区二区电影在线观看 | 日韩欧美成人网 | 国产麻豆视频 | 91丨九色丨蝌蚪丨对白 | 成人影视免费看 | 91在线www| 天天色播| 在线 视频 一区二区 | 久久久香蕉视频 | 在线国产一区二区 | 日韩欧美在线一区 | 日韩精品视频免费看 | 九九免费精品视频在线观看 | 91精品一区在线观看 | 国产精品理论视频 | 韩日电影在线 | 亚洲精品永久免费视频 | 国产在线播放一区二区 | 91在线文字幕 | 三级黄色a | 中文字幕在线视频一区二区三区 | 国产xx视频| 久久图| 久久艹中文字幕 | 黄在线免费看 | 国产福利午夜 | 亚洲激情五月 | 日韩欧美在线综合网 | 亚洲国产精品推荐 | 精品久久久久久久久亚洲 | 国偷自产中文字幕亚洲手机在线 | 香蕉视频免费看 | 国语久久| 天天操天天拍 | 91麻豆精品国产自产在线游戏 | 亚洲欧洲日韩在线观看 | 片网址 | 97成人超碰 | 国内精品久久天天躁人人爽 | 99热国产在线观看 | 91精品视频免费在线观看 | 欧美一区二区三区激情视频 | 大胆欧美gogo免费视频一二区 | 国产性天天综合网 | 日本在线中文在线 | 久久国语露脸国产精品电影 | 国产一区二区在线观看视频 | 91高清一区 | 色欧美88888久久久久久影院 | 国产精品美女久久久 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 免费三级av | 午夜影院一级 | 毛片激情永久免费 | 91亚洲精品国产 | 日韩综合精品 | 日韩精品欧美专区 | 国产在线日本 | 天天摸夜夜操 | 国产在线精品一区二区三区 | 久久99亚洲热视 | 亚洲欧洲一区二区在线观看 | 国产成人综 | 中文字幕永久在线 | 正在播放亚洲精品 | 天天天插 | 日韩精品免费在线 | 色中色亚洲 | 天天操天天操天天操 | 手机在线中文字幕 | 韩国精品福利一区二区三区 | 91爱在线 | 色天天天| 2021av在线| 超碰在线1 | 亚洲第一中文网 | 亚洲91av| 五月激情天 | 免费精品在线观看 | 国产成人福利在线观看 | 色网址99| av东方在线 | 在线观看免费 | 一本一本久久a久久精品综合小说 | 色婷婷久久久综合中文字幕 | 欧美精品久久久久久 | 99热这里只有精品免费 | 免费看一级特黄a大片 | 91污在线观看 | 亚州精品天堂中文字幕 | 亚洲午夜久久久久久久久 | 亚洲热视频 | 欧美天天射 | 亚洲午夜久久久久久久久 | 91久久国产自产拍夜夜嗨 | 九九久久久久久久久激情 | 亚洲手机av | www.人人干| 香蕉视频最新网址 | 手机成人在线电影 | 91黄色小视频 | 夜夜躁日日躁狠狠久久88av | 三级在线视频播放 | www.香蕉 | 国产亚洲精品久久久久久大师 | 国产高清av免费在线观看 | 国产亚洲欧美精品久久久久久 | 天天曰天天 | 波多野结衣电影久久 | 欧美日韩网址 | 91网页版在线观看 | 国产精品毛片一区二区在线 | 国产v在线| 丁香激情五月 | 久久国产美女视频 | 欧美吞精 | 久久国产热 | www.av免费 | 四虎成人精品 | 中文字幕二区在线观看 | av导航福利 | 日本黄色片一区二区 | 99精品在线视频播放 | 美女视频免费精品 | 亚洲精品久久久久58 | 国产中文字幕视频在线观看 | 成人在线视频论坛 | 国产999精品久久久久久绿帽 | 成人黄色电影在线观看 | 国产精品视频全国免费观看 | 欧美日韩免费一区二区三区 | 中文字幕视频一区 | 播五月婷婷 | 成人国产综合 | 黄色成人影视 | 91九色pron| 日本最新一区二区三区 | 99热精品国产一区二区在线观看 | 国产一区二区免费看 | 三级黄色三级 | 日韩欧美电影 | 四虎在线观看 | 五月在线视频 | 狠狠狠狠狠狠狠干 | 久av电影| 亚洲一区二区观看 | 天天色天天综合 | 国际精品久久久 | 日本色小说视频 | 激情欧美一区二区免费视频 | 天天操天天玩 | 日日操天天射 | 成人免费视频a | 91精品久久久久久综合乱菊 | 久久国产一二区 | 国产精品久久久久久久久久免费看 | 国产一级大片在线观看 | 欧美视频在线观看免费网址 | 久久在线视频精品 | 国产精品久久99综合免费观看尤物 | 国产视频在线观看一区二区 | 91九色九色 | 国产69久久精品成人看 | 久久成人资源 | 91禁在线观看 | 亚洲草视频 | 久草av在线播放 | 久久人人爽人人爽人人片 | 五月婷婷久久丁香 | 免费在线观看av网站 | 久久久久久久久久久免费av | 精品久久一| 99精品欧美一区二区三区黑人哦 | 久久久亚洲国产精品麻豆综合天堂 | 97免费| 色视频在线 | 91精品免费视频 | 欧美亚洲xxx| 偷拍视频一区 | 99中文字幕视频 | 日韩视频在线不卡 | 日韩高清 一区 | 国产裸体视频bbbbb | 三级av在线播放 | 黄色软件网站在线观看 | 欧美大荫蒂xxx | 天天色天天操天天爽 | 久久久亚洲精华液 | 在线性视频日韩欧美 | 国产成人精品av | 黄色软件在线观看视频 | www.五月天婷婷 | 国产精品破处视频 | va视频在线 | 天堂在线视频中文网 | 懂色av懂色av粉嫩av分享吧 | 91在线日本| 亚洲无吗av| 国产一在线精品一区在线观看 | 国产在线精品二区 | 日韩精品一区二区三区免费视频观看 | 天天干中文字幕 | 久久综合久久综合久久综合 | 99热最新精品 | 97天堂网 | a资源在线 | 国产资源在线观看 | 91片黄在线观看动漫 | 精品国产诱惑 | 亚洲精品视频在线观看视频 | 国产九色视频在线观看 | 亚洲黄色app | 色资源网在线观看 | 天天爱天天草 | 香蕉久久国产 | 深爱激情综合网 | 亚洲人成人99网站 | 亚洲少妇天堂 | 久久乐九色婷婷综合色狠狠182 | 日韩专区视频 | 国产精品欧美激情在线观看 | 亚洲二区精品 | 久久99精品国产麻豆婷婷 | 中文字幕成人在线观看 | 99久久精品国产亚洲 | 成 人 黄 色视频免费播放 | 人人爽久久涩噜噜噜网站 | 在线观看黄a | 日韩亚洲国产中文字幕 | 日韩免费在线观看网站 | 麻豆91在线看 | 久久天天躁狠狠躁夜夜不卡公司 | 国产精品久久久久久久久久 | 国产激情小视频在线观看 | 国产精品视频大全 | 久久久久久久网站 | 97在线免费视频观看 | 国产精品久久久久久久av大片 | 国产综合精品一区二区三区 | 色综合天 | 婷婷六月网 | 美女一级毛片视频 | 国产福利电影网址 | 久久综合九色综合久久久精品综合 | 欧美日韩一级在线 | 五月婷婷开心中文字幕 | 欧美91片 | 伊人久操 | 久久久高清免费视频 | 在线免费高清一区二区三区 | 欧美福利片在线观看 | 在线观看91视频 | 亚洲精品五月 | 久久国产经典视频 | 99国产精品免费网站 | 日韩二区精品 | 在线观看黄色大片 | 91色蜜桃| 一区二区精品视频 | av免费网站在线观看 | 人人舔人人 | 欧美日韩午夜爽爽 | 国产日韩精品一区二区 | 亚洲黄色成人网 | 久久久午夜精品福利内容 | 日韩一级电影在线观看 | 激情五月网站 | 摸阴视频| av免费网 | 亚洲欧美日韩在线一区二区 | 九九热只有这里有精品 | 99视频在线免费播放 | 日本性xxxxx 亚洲精品午夜久久久 | 久久视频在线看 | 一区二区三区精品在线视频 | 国产色道| 国产第一页在线观看 | 国产精品video| 色五月成人| 一区二区国产精品 | 一级淫片a | 精品国产精品久久 | 日本三级在线观看中文字 | 国产高清一级 | 99热精品国产 | 国产成人福利片 | 成人黄色免费在线观看 | 视频99爱| 久久久精品成人 | 亚洲精选在线 | 久久久久久久电影 | 最新超碰| 色偷偷888欧美精品久久久 | 五月婷婷香蕉 | 日韩精品在线视频免费观看 | 国内久久视频 | 手机在线看a | 亚洲九九精品 | 国产xvideos免费视频播放 | 日本精品久久久一区二区三区 | 又爽又黄又刺激的视频 | 青草草在线视频 | 精品国产大片 | 亚洲最大免费成人网 | 久久情侣偷拍 | 黄色a一级视频 | www.天天色.com| 国产精品少妇 | 日本免费一二三区 | 国产精品九九视频 | 午夜视频不卡 | 丁香婷婷色月天 | 亚洲va欧美va人人爽春色影视 | 狠狠久久婷婷 | 久久久亚洲影院 | 国产免费影院 | 在线韩国电影免费观影完整版 | 国产一区91 | 国内小视频在线观看 | 日本深夜福利视频 | 国产小视频免费在线网址 | 美女视频黄免费网站 | 久草精品视频在线播放 | 国产精品久久久久久久久久免费 | 人人爱人人做人人爽 | 丰满少妇对白在线偷拍 | 91亚洲在线观看 | 久久久久久久久久毛片 | 在线视频免费观看 | 福利视频| 日韩亚洲在线视频 | 欧美aⅴ在线观看 | 国产美女免费观看 | 色视频在线观看免费 | 97视频久久久 | 天天射,天天干 | 深爱激情综合 | 337p日本欧洲亚洲大胆裸体艺术 | 久久久久久久久影视 | 成人全视频免费观看在线看 | 亚洲欧美精品一区 | 操操操日日 | 高清视频一区二区三区 | 超碰公开97 | www久久久 | 91麻豆精品91久久久久同性 | 成人精品影视 | 丁香六月婷婷开心 | 综合色狠狠 | 国产最新视频在线 | 在线免费观看视频a | 日韩在线中文字幕视频 | 久久久国产毛片 | 国产一区二区精品91 | 伊人久久精品久久亚洲一区 | 亚洲无在线 | av在线最新| 天天操综合网站 | 国产精品网在线观看 | 日韩精品一区二区不卡 | 国产精品com | 99久久精品国产亚洲 | 狠狠狠色丁香婷婷综合激情 | 久久国产美女 | 亚洲午夜久久久久 | 91精品在线播放 | 欧美经典久久 | 免费的国产精品 | 亚洲精品乱码久久久久久蜜桃动漫 | 97免费在线观看视频 | 日韩亚洲在线观看 | 奇米影音四色 | 亚洲专区欧美 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 亚洲精品人人 | 成人在线视频免费看 | 国产精品丝袜在线 | 在线观看亚洲 | 美女性爽视频国产免费app | 在线av资源| 天天天天干 | 免费婷婷 | 成年人电影免费看 | 色婷婷综合久久久 | 日韩免费电影网站 | a黄色一级片 | 国产精品你懂的在线观看 | 特级黄色片免费看 | 男女拍拍免费视频 | 黄色www免费| 99草视频在线观看 | 伊人成人久久 | 玖玖999| 久久人人爽人人片 | 日本特黄一级 | 天天夜操 | 天天干夜夜| 日韩欧美成人网 | 久久精品国产成人 | 最新国产精品久久精品 | 在线电影播放 | 日本三级久久 | 视频在线在亚洲 | 91久久久久久久 | 在线观看网站黄 | 五月婷香蕉久色在线看 | 最近免费在线观看 | 亚洲一级片免费观看 | 国产999视频 | 成人国产精品免费观看 | 国产区在线视频 | 91欧美日韩国产 | 91麻豆精品国产91久久久久 | 久久免费电影 | 欧美另类性| 人人草在线观看 | 亚洲一二视频 | 精品国产一区二区三区四 | 亚洲一区免费在线 | 中文字幕在线播放一区二区 | a午夜在线 | 女人魂免费观看 | 国产精品久久久久一区二区三区共 | 五月婷婷视频在线观看 | 日韩中文字幕在线观看 | 亚洲成人av电影 | 国产日韩欧美精品在线观看 | 又黄又爽又湿又无遮挡的在线视频 | 2023av在线 | 999国内精品永久免费视频 | 欧美精品久久久久a | 国产专区视频 | 久久综合给合久久狠狠色 | 欧美成人xxxx| 毛片网站免费在线观看 | 久草在线免费资源 | 亚洲一级特黄 | 91c网站色版视频 | 激情综合婷婷 | 久久社区视频 | 天天摸天天干天天操天天射 | 国产xvideos免费视频播放 | 久久草网站 | 99久热在线精品 | 美女国产在线 | 日韩高清免费在线观看 | 国产视频二区三区 | 色在线亚洲 | 久久精品艹 | 九九九九精品九九九九 | av黄免费看 | 日韩黄色在线电影 | 又黄又刺激的网站 | 国产精品igao视频网网址 | 91av综合 | 免费成人在线电影 | 欧美日韩免费一区二区 | 在线观看免费黄色 | 中日韩男男gay无套 日韩精品一区二区三区高清免费 | 久久精品99精品国产香蕉 | 天天操夜夜操夜夜操 | 午夜婷婷在线观看 | 九九天堂| 婷婷久久综合网 | 91av视频在线免费观看 | 黄色特级毛片 | 天天操比 | 国产精品久久片 | 免费在线播放 | 久久久www成人免费精品张筱雨 | 亚洲另类在线视频 | 亚洲精品乱码白浆高清久久久久久 | 日本韩国精品一区二区在线观看 | 久久久精品国产免费观看同学 | 麻豆系列在线观看 | 99视频精品免费观看, | 国产午夜一区 | 亚洲美女精品视频 | av免费网站在线观看 | 亚洲第一区在线观看 | 日b视频国产 | 狠狠干干 | 一区二区视频在线免费观看 | 91在线小视频 | 99re视频在线观看 | 黄色软件视频大全免费下载 | 亚洲成人av在线电影 | 久久伊人色综合 | 在线免费黄色av | 久久久亚洲网站 | 久久久久久免费毛片精品 | 国产日韩欧美在线一区 | 三级视频片 | 亚洲一区二区三区精品在线观看 | 久久激情片| 中文字幕在线观看一区二区三区 | 成片免费观看视频大全 | 天天做夜夜做 | 国产伦理一区二区三区 | 又色又爽又激情的59视频 | 中文字幕在线观看的网站 | 伊人久在线 | 深爱激情亚洲 | 免费视频资源 | 91成人精品视频 | 国偷自产中文字幕亚洲手机在线 | 超碰97免费在线 | 欧美久久久久久久久中文字幕 | 国产 字幕 制服 中文 在线 | 黄色精品国产 | 国产五月婷 | 国产97视频在线 | 国产日本在线观看 | 97精品国产91久久久久久久 | 欧美视频xxx | 国产福利a | 99爱国产精品 | 日日草av | 欧美作爱视频 | 久久久久美女 | 精品久久久久久国产 | 国产精品成人国产乱一区 | 在线观看黄色国产 | 国产美女免费看 | 国产精品美女网站 | 91视频免费网址 | 欧美精品久久久久久久久久 | 黄色1级大片 | 日韩av免费一区二区 | 亚洲综合成人在线 | 91.dizhi永久地址最新 | 精品毛片久久久久久 | 国产精品欧美久久久久无广告 | 久久久免费精品国产一区二区 | 免费看国产一级片 | 综合网伊人 | 久草综合视频 | 天天草天天色 | 亚洲日韩欧美一区二区在线 | 99精品免费久久久久久日本 | 麻豆国产网站入口 | 在线观看久久久久久 | 精品av网站 | 91精品亚洲影视在线观看 | 婷婷在线免费 | av综合网址| 国产91学生粉嫩喷水 | 色综合五月 | 欧美性色综合 | 国产美女免费 | 久久精品视频国产 | 久久免费美女视频 | 成人污视频在线观看 | 麻豆精品国产传媒 | 91看片淫黄大片在线播放 | 最新av在线播放 | 激情视频亚洲 | 国产午夜精品一区二区三区在线观看 | 人人干人人上 | 国产精品自拍在线 | 在线免费观看黄色大片 | 人人干网站 | 97免费中文视频在线观看 | 国产成人三级在线观看 | 日韩在线视频观看 | 成人在线视频一区 | 在线国产黄色 | 四虎在线影视 | 亚洲精品免费在线观看 | av中文字幕在线播放 | 国产99久久九九精品免费 | 91视频在线观看免费 | 黄色91免费观看 | 亚洲精品乱码久久久久久蜜桃动漫 | 91av在线免费看 | 国产一卡二卡四卡国 | 99久久精品国产亚洲 | a视频免费在线观看 | 九九九九热精品免费视频点播观看 | 久久免费视频一区 | 国产网红在线 | 成人午夜片av在线看 | www.夜色.com | 欧洲精品视频一区二区 | 国产在线一区二区 | 九九99 | 亚洲精品久久视频 | 国产一区二区在线播放 | 激情网综合 | 色婷婷狠 | 国产日韩精品视频 | 色精品视频 | 亚洲伊人av | 成年人黄色免费网站 | 亚洲精品一区二区18漫画 | 五月天丁香视频 | 韩国精品一区二区三区六区色诱 | 美女视频黄免费网站 | 青青草久草在线 | 国产在线日本 | 精品一区二区三区四区在线 | 精品二区久久 | 亚洲激情视频在线观看 | 视频在线一区二区三区 | 天天干.com| 中文字幕乱码亚洲精品一区 | 天天干,夜夜操 | 奇米影视四色8888 | 国产一级片一区二区三区 | 黄色av电影免费观看 | 久久国产电影 | 国产精品一区二区在线看 | 99精品一区二区 | 91av成人| 在线午夜 | 成人性生活大片 | 在线观看视频国产 | 国产高清一区二区 | 国产特级毛片aaaaaaa高清 | av免费电影在线 | 日本中文字幕网站 | 国产黄色在线 | 91精品久久久久久综合乱菊 | www免费视频com━ | 国产一级二级在线 | 狠狠的日日 | 久久午夜网 | 99精品一区二区三区 | 国产福利精品一区二区 | 亚洲精品久久久久久久蜜桃 | 国产91精品在线观看 | 国产一级a毛片视频爆浆 | 国产成人一区二区三区 | 欧美大jb| 丝袜美腿亚洲 | 亚洲精品在线视频 | 日韩欧美综合视频 | 精品国产人成亚洲区 | 超碰人人干人人 | 国产精品色在线 | 国产欧美三级 | 国产一级一片免费播放放a 一区二区三区国产欧美 |