精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

聊聊Hive常見的分析函數

大數據
dense_rank函數的功能與rank函數類似,dense_rank函數在生成序號時是連續的,而rank函數生成的序號有可能不連續。當出現名次相同時,則排名序號也相同。而下一個排名的序號與上一個排名序號是連續的。

[[402112]]

本文轉載自微信公眾號「大數據技術與數倉」,作者西貝。轉載本文請聯系大數據技術與數倉公眾號。

 1.基本語法

  1. Function (arg1,..., argn) OVER ([PARTITION BY <...>] [ORDER BY <....>] 
  2. [<window_expression>]) 

Function (arg1,..., argn) 可以是下面的四類函數:

  • Aggregate Functions: 聚合函數,比如:sum(...)、 max(...)、min(...)、avg(...)等
  • Sort Functions: 數據排序函數, 比如 :rank(...)、row_number(...)等
  • Analytics Functions: 統計和比較函數, 比如:lead(...)、lag(...)、 first_value(...)等

2.數據準備

樣例數據

  1. [職工姓名|部門編號|職工ID|工資|崗位類型|入職時間] 
  2. Michael|1000|100|5000|full|2014-01-29 
  3. Will|1000|101|4000|full|2013-10-02 
  4. Wendy|1000|101|4000|part|2014-10-02 
  5. Steven|1000|102|6400|part|2012-11-03 
  6. Lucy|1000|103|5500|full|2010-01-03 
  7. Lily|1001|104|5000|part|2014-11-29 
  8. Jess|1001|105|6000|part|2014-12-02 
  9. Mike|1001|106|6400|part|2013-11-03 
  10. Wei|1002|107|7000|part|2010-04-03 
  11. Yun|1002|108|5500|full|2014-01-29 
  12. Richard|1002|109|8000|full|2013-09-01 

建表語句:

  1. CREATE TABLE IF NOT EXISTS employee ( 
  2. name string, 
  3. dept_num int
  4. employee_id int
  5. salary int
  6. type string, 
  7. start_date date 
  8. ROW FORMAT DELIMITED 
  9. FIELDS TERMINATED BY '|' 
  10. STORED as TEXTFILE; 

加載數據

  1. load data local inpath '/opt/datas/data/employee_contract.txt' into table employee; 

3.窗口聚合函數

(1)查詢姓名、部門編號、工資以及部門人數

  1. select  
  2.     name
  3.     dept_num as deptno , 
  4.     salary, 
  5.     count(*) over (partition by dept_num) as cnt  
  6. from employee ; 

結果輸出:

  1. name    deptno  salary  cnt 
  2. Lucy    1000    5500    5 
  3. Steven  1000    6400    5 
  4. Wendy   1000    4000    5 
  5. Will    1000    4000    5 
  6. Michael 1000    5000    5 
  7. Mike    1001    6400    3 
  8. Jess    1001    6000    3 
  9. Lily    1001    5000    3 
  10. Richard 1002    8000    3 
  11. Yun     1002    5500    3 
  12. Wei     1002    7000    3 

(2)查詢姓名、部門編號、工資以及每個部門的總工資,部門總工資按照降序輸出

  1. select  
  2.     name , 
  3.     dept_num as deptno, 
  4.     salary, 
  5.     sum(salary) over (partition by dept_num order by dept_num) as sum_dept_salary  
  6. from employee  
  7. order by sum_dept_salary desc

結果輸出:

  1. name    deptno  salary  sum_dept_salary 
  2. Michael 1000    5000    24900 
  3. Will    1000    4000    24900 
  4. Wendy   1000    4000    24900 
  5. Steven  1000    6400    24900 
  6. Lucy    1000    5500    24900 
  7. Wei     1002    7000    20500 
  8. Yun     1002    5500    20500 
  9. Richard 1002    8000    20500 
  10. Lily    1001    5000    17400 
  11. Jess    1001    6000    17400 
  12. Mike    1001    6400    17400 

4.窗口排序函數

簡介

窗口排序函數提供了數據的排序信息,比如行號和排名。在一個分組的內部將行號或者排名作為數據的一部分進行返回,最常用的排序函數主要包括:

row_number:根據具體的分組和排序,為每行數據生成一個起始值等于1的唯一序列數

rank:對組中的數據進行排名,如果名次相同,則排名也相同,但是下一個名次的排名序號會出現不連續。比如查找具體條件的topN行

dense_rank:dense_rank函數的功能與rank函數類似,dense_rank函數在生成序號時是連續的,而rank函數生成的序號有可能不連續。當出現名次相同時,則排名序號也相同。而下一個排名的序號與上一個排名序號是連續的。

percent_rank:排名計算公式為:(current rank - 1)/(total number of rows - 1)

ntile:將一個有序的數據集劃分為多個桶(bucket),并為每行分配一個適當的桶數。它可用于將數據劃分為相等的小切片,為每一行分配該小切片的數字序號。

(1)查詢姓名、部門編號、工資、排名編號(按工資的多少排名)

  1. select  
  2.    name , 
  3.    dept_num as dept_no , 
  4.    salary, 
  5.    row_number() over (order by salary desc ) rnum  
  6. from employee; 

結果輸出:

  1. name    dept_no salary  rnum 
  2. Richard 1002    8000    1 
  3. Wei     1002    7000    2 
  4. Mike    1001    6400    3 
  5. Steven  1000    6400    4 
  6. Jess    1001    6000    5 
  7. Yun     1002    5500    6 
  8. Lucy    1000    5500    7 
  9. Lily    1001    5000    8 
  10. Michael 1000    5000    9 
  11. Wendy   1000    4000    10 
  12. Will    1000    4000    11 

(2)查詢每個部門工資最高的兩個人的信息(姓名、部門、薪水)

  1. select  
  2.    name
  3.    dept_num, 
  4.    salary  
  5. from 
  6.  select name , 
  7.    dept_num , 
  8.    salary, 
  9.    row_number() over (partition by dept_num order by salary desc ) rnum  
  10.  from employee) t1 
  11.  where rnum <= 2; 

結果輸出:

  1. name    dept_num        salary 
  2. Steven  1000    6400 
  3. Lucy    1000    5500 
  4. Mike    1001    6400 
  5. Jess    1001    6000 
  6. Richard 1002    8000 
  7. Wei     1002    7000 

(3)查詢每個部門的員工工資排名信息

  1. select 
  2.  name , 
  3.  dept_num as dept_no , 
  4.  salary,row_number() over (partition by dept_num order by salary desc ) rnum  
  5. from employee; 

結果輸出:

  1. name    dept_no salary  rnum 
  2. Steven  1000    6400    1 
  3. Lucy    1000    5500    2 
  4. Michael 1000    5000    3 
  5. Wendy   1000    4000    4 
  6. Will    1000    4000    5 
  7. Mike    1001    6400    1 
  8. Jess    1001    6000    2 
  9. Lily    1001    5000    3 
  10. Richard 1002    8000    1 
  11. Wei     1002    7000    2 
  12. Yun     1002    5500    3 

(4)使用rank函數進行排名

  1. select 
  2.   name
  3.   dept_num, 
  4.   salary, 
  5.   rank() over (order by salary desc) rank 
  6. from employee; 

結果輸出:

  1. name    dept_num        salary  rank 
  2. Richard 1002    8000    1 
  3. Wei     1002    7000    2 
  4. Mike    1001    6400    3 
  5. Steven  1000    6400    3 
  6. Jess    1001    6000    5 
  7. Yun     1002    5500    6 
  8. Lucy    1000    5500    6 
  9. Lily    1001    5000    8 
  10. Michael 1000    5000    8 
  11. Wendy   1000    4000    10 
  12. Will    1000    4000    10 

(5)使用dense_rank進行排名

  1. select 
  2.   name
  3.   dept_num, 
  4.   salary, 
  5.   dense_rank() over (order by salary desc) rank 
  6. from employee; 

結果輸出:

  1. name    dept_num        salary  rank 
  2. Richard 1002    8000    1 
  3. Wei     1002    7000    2 
  4. Mike    1001    6400    3 
  5. Steven  1000    6400    3 
  6. Jess    1001    6000    4 
  7. Yun     1002    5500    5 
  8. Lucy    1000    5500    5 
  9. Lily    1001    5000    6 
  10. Michael 1000    5000    6 
  11. Wendy   1000    4000    7 
  12. Will    1000    4000    7 

(6)使用percent_rank()進行排名

  1. select 
  2.   name
  3.   dept_num, 
  4.   salary, 
  5.   percent_rank() over (order by salary desc) rank 
  6. from employee; 

結果輸出:

  1. name    dept_num        salary  rank 
  2. Richard 1002    8000    0.0 
  3. Wei     1002    7000    0.1 
  4. Mike    1001    6400    0.2 
  5. Steven  1000    6400    0.2 
  6. Jess    1001    6000    0.4 
  7. Yun     1002    5500    0.5 
  8. Lucy    1000    5500    0.5 
  9. Lily    1001    5000    0.7 
  10. Michael 1000    5000    0.7 
  11. Wendy   1000    4000    0.9 
  12. Will    1000    4000    0.9 

(7)使用ntile進行數據分片排名

  1. SELECT 
  2. name
  3. dept_num as deptno, 
  4. salary, 
  5. ntile(4) OVER(ORDER BY salary descas ntile 
  6. FROM employee; 

結果輸出:

  1. name    deptno  salary  ntile 
  2. Richard 1002    8000    1 
  3. Wei     1002    7000    1 
  4. Mike    1001    6400    1 
  5. Steven  1000    6400    2 
  6. Jess    1001    6000    2 
  7. Yun     1002    5500    2 
  8. Lucy    1000    5500    3 
  9. Lily    1001    5000    3 
  10. Michael 1000    5000    3 
  11. Wendy   1000    4000    4 
  12. Will    1000    4000    4 

從 Hive v2.1.0開始, 支持在OVER語句里使用聚集函數,比如

  1. SELECT 
  2.   dept_num, 
  3.   row_number() OVER (PARTITION BY dept_num ORDER BY sum(salary)) as rk 
  4. FROM employee 
  5. GROUP BY dept_num; 

結果輸出:

  1. dept_num        rk 
  2. 1000    1 
  3. 1001    1 
  4. 1002    1 

5.窗口分析函數

常用的分析函數主要包括:

  • cume_dist

如果按升序排列,則統計:小于等于當前值的行數/總行數(number of rows ≤ current row)/(total number of rows)。如果是降序排列,則統計:大于等于當前值的行數/總行數。比如,統計小于等于當前工資的人數占總人數的比例 ,用于累計統計。

  • lead(value_expr[,offset[,default]])

用于統計窗口內往下第n行值。第一個參數為列名,第二個參數為往下第n行(可選,默認為1),第三個參數為默認值(當往下第n行為NULL時候,取默認值,如不指定,則為NULL

  • lag(value_expr[,offset[,default]]):

與lead相反,用于統計窗口內往上第n行值。第一個參數為列名,第二個參數為往上第n行(可選,默認為1),第三個參數為默認值(當往上第n行為NULL時候,取默認值,如不指定,則為NULL)

  • first_value: 取分組內排序后,截止到當前行,第一個值
  • last_value

取分組內排序后,截止到當前行,最后一個值

  • (1)統計小于等于當前工資的人數占總人數的比例
  1. SELECT 
  2.  name
  3.  dept_num as deptno, 
  4.  salary, 
  5.  cume_dist() OVER (ORDER BY salary) as cume 
  6. FROM employee; 

結果輸出:

  1. name    deptno  salary  cume 
  2. Wendy   1000    4000    0.18181818181818182 
  3. Will    1000    4000    0.18181818181818182 
  4. Lily    1001    5000    0.36363636363636365 
  5. Michael 1000    5000    0.36363636363636365 
  6. Yun     1002    5500    0.5454545454545454 
  7. Lucy    1000    5500    0.5454545454545454 
  8. Jess    1001    6000    0.6363636363636364 
  9. Mike    1001    6400    0.8181818181818182 
  10. Steven  1000    6400    0.8181818181818182 
  11. Wei     1002    7000    0.9090909090909091 
  12. Richard 1002    8000    1.0 

(2)統計大于等于當前工資的人數占總人數的比例

  1. SELECT 
  2.  name
  3.  dept_num as deptno, 
  4.  salary, 
  5.  cume_dist() OVER (ORDER BY salary descas cume 
  6. FROM employee; 

結果輸出:

  1. name    deptno  salary  cume 
  2. Richard 1002    8000    0.09090909090909091 
  3. Wei     1002    7000    0.18181818181818182 
  4. Mike    1001    6400    0.36363636363636365 
  5. Steven  1000    6400    0.36363636363636365 
  6. Jess    1001    6000    0.45454545454545453 
  7. Yun     1002    5500    0.6363636363636364 
  8. Lucy    1000    5500    0.6363636363636364 
  9. Lily    1001    5000    0.8181818181818182 
  10. Michael 1000    5000    0.8181818181818182 
  11. Wendy   1000    4000    1.0 
  12. Will    1000    4000    1.0 

(3)按照部門統計小于等于當前工資的人數占部門總人數的比例

  1. SELECT 
  2.  name
  3.  dept_num as deptno, 
  4.  salary, 
  5.  cume_dist() OVER (PARTITION BY dept_num ORDER BY salary) as cume 
  6. FROM employee; 

結果輸出:

  1. name    deptno  salary  cume 
  2. Wendy   1000    4000    0.4 
  3. Will    1000    4000    0.4 
  4. Michael 1000    5000    0.6 
  5. Lucy    1000    5500    0.8 
  6. Steven  1000    6400    1.0 
  7. Lily    1001    5000    0.3333333333333333 
  8. Jess    1001    6000    0.6666666666666666 
  9. Mike    1001    6400    1.0 
  10. Yun     1002    5500    0.3333333333333333 
  11. Wei     1002    7000    0.6666666666666666 
  12. Richard 1002    8000    1.0 

(4)按部門分組,統計每個部門員工的工資以及大于等于該員工工資的下一個員工的工資

  1. SELECT 
  2.  name
  3.  dept_num as deptno, 
  4.  salary, 
  5.  lead(salary,1) OVER (PARTITION BY dept_num ORDER BY salary) as lead 
  6. FROM employee; 

結果輸出:

  1. name    deptno  salary  lead 
  2. Wendy   1000    4000    4000 
  3. Will    1000    4000    5000 
  4. Michael 1000    5000    5500 
  5. Lucy    1000    5500    6400 
  6. Steven  1000    6400    NULL 
  7. Lily    1001    5000    6000 
  8. Jess    1001    6000    6400 
  9. Mike    1001    6400    NULL 
  10. Yun     1002    5500    7000 
  11. Wei     1002    7000    8000 
  12. Richard 1002    8000    NULL 

(5)按部門分組,統計每個部門員工的工資以及小于等于該員工工資的上一個員工的工資

  1. SELECT 
  2.  name
  3.  dept_num as deptno, 
  4.  salary, 
  5.  lag(salary,1) OVER (PARTITION BY dept_num ORDER BY salary) as lead 
  6. FROM employee; 

結果輸出:

  1. name    deptno  salary  lead 
  2. Wendy   1000    4000    NULL 
  3. Will    1000    4000    4000 
  4. Michael 1000    5000    4000 
  5. Lucy    1000    5500    5000 
  6. Steven  1000    6400    5500 
  7. Lily    1001    5000    NULL 
  8. Jess    1001    6000    5000 
  9. Mike    1001    6400    6000 
  10. Yun     1002    5500    NULL 
  11. Wei     1002    7000    5500 
  12. Richard 1002    8000    7000 

(6)按部門分組,統計每個部門員工工資以及該部門最低的員工工資

  1. SELECT 
  2.  name
  3.  dept_num as deptno, 
  4.  salary, 
  5.  first_value(salary) OVER (PARTITION BY dept_num ORDER BY salary) as fval 
  6. FROM employee; 

結果輸出:

  1. name    deptno  salary  fval 
  2. Wendy   1000    4000    4000 
  3. Will    1000    4000    4000 
  4. Michael 1000    5000    4000 
  5. Lucy    1000    5500    4000 
  6. Steven  1000    6400    4000 
  7. Lily    1001    5000    5000 
  8. Jess    1001    6000    5000 
  9. Mike    1001    6400    5000 
  10. Yun     1002    5500    5500 
  11. Wei     1002    7000    5500 
  12. Richard 1002    8000    5500 

(7)按部門分組,統計每個部門員工工資以及該部門最高的員工工資

  1. SELECT 
  2.  name
  3.  dept_num as deptno, 
  4.  salary, 
  5.  last_value(salary) OVER (PARTITION BY dept_num ORDER BY salary RANGE 
  6. BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) as lval 
  7. FROM employee; 

結果輸出:

  1. name    deptno  salary  lval 
  2. Wendy   1000    4000    6400 
  3. Will    1000    4000    6400 
  4. Michael 1000    5000    6400 
  5. Lucy    1000    5500    6400 
  6. Steven  1000    6400    6400 
  7. Lily    1001    5000    6400 
  8. Jess    1001    6000    6400 
  9. Mike    1001    6400    6400 
  10. Yun     1002    5500    8000 
  11. Wei     1002    7000    8000 
  12. Richard 1002    8000    8000 

注意:last_value默認的窗口是RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW,表示當前行永遠是最后一個值,需改成RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING。

img

  • RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW

為默認值,即當指定了ORDER BY從句,而省略了window從句 ,表示從開始到當前行。

  • RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING

表示從當前行到最后一行

  • RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING

表示所有行

  • n PRECEDING m FOLLOWING

表示窗口的范圍是:[(當前行的行數)- n, (當前行的行數)+m]

 

責任編輯:武曉燕 來源: 大數據技術與數倉
相關推薦

2021-09-08 08:55:45

Javascript 高階函數前端

2022-01-04 06:50:12

數據摘要方法

2023-11-28 09:19:12

2022-03-17 08:34:47

TypeScript項目類型

2022-11-30 08:19:15

內存分配Go逃逸分析

2022-02-07 21:49:19

串行通信UART

2022-03-30 09:01:37

CSS屬性函數

2022-09-28 11:34:27

用戶行為數據業務

2020-03-31 09:09:48

Web安全網絡攻擊DDOS

2020-07-24 10:31:34

未授權訪問漏洞

2022-07-07 08:01:51

Python魔法方法代碼

2022-10-24 00:03:26

GolangNew函數

2022-10-17 08:22:28

2021-03-02 21:52:48

Hive數據類型

2021-09-08 06:51:53

CountDownLa閉鎖源碼

2021-06-05 23:39:52

c++函數場景

2022-08-02 11:29:17

數據分析場景RFM

2023-05-04 00:27:40

2022-08-24 14:14:58

JavaScript函數

2022-06-27 15:07:35

智能汽車
點贊
收藏

51CTO技術棧公眾號

亚洲理论电影| 18视频在线观看| 久久香蕉精品| 日韩在线观看你懂的| 伊人国产精品视频| 91老司机福利在线| 欧美国产一区二区在线观看| 91av一区二区三区| 国产综合精品视频| 66国产精品| 亚洲精品色婷婷福利天堂| 久国产精品视频| 男人久久天堂| 日韩毛片高清在线播放| 国产精品自拍首页| 91精品中文字幕| 中文在线不卡| 久久亚洲精品中文字幕冲田杏梨| 国产精品无码在线| 91成人短视频在线观看| 色综合视频一区二区三区高清| 亚洲午夜精品久久久中文影院av| 天天干免费视频| 精一区二区三区| 国产不卡视频在线| 久久久一二三区| 欧美hd在线| 亚洲欧美日韩中文在线| 国产综合内射日韩久| 成人四虎影院| 色诱亚洲精品久久久久久| 女人床在线观看| 日本精品在线| 久久精品一二三| 国内精品二区| 午夜精品在线播放| 精品一区免费av| 国产精品高潮呻吟久久av野狼| 国产精品日日夜夜| 欧美国产先锋| 久久精品99久久香蕉国产色戒| 无码一区二区三区在线| 女人扒开腿免费视频app| 国产女人高潮的av毛片| 日日骚欧美日韩| 欧美最猛黑人xxxx黑人猛叫黄| 麻豆changesxxx国产| 国产精品99在线观看| 中文字幕无线精品亚洲乱码一区| 大又大又粗又硬又爽少妇毛片 | 手机在线成人av| 一区二区亚洲视频| 日韩精品在线一区| 国产精品一级无码| 亚洲五码在线| 欧美成人猛片aaaaaaa| 欧美激情第四页| 成人污版视频| 日韩一区二区免费电影| 一级网站在线观看| 日韩精品成人在线观看| 欧美一区二区免费观在线| 欧美性受xxxxxx黑人xyx性爽| 欧美激情三区| 欧美一区二区久久| 欧美性生交xxxxx| 国产成人一二片| 日韩成人av网址| 激情综合丁香五月| 国产免费av一区二区三区| 国产亚洲一区二区精品| 久久午夜精品视频| 女人色偷偷aa久久天堂| 欧美激情视频播放| 韩国av中文字幕| 视频在线观看一区| 国产女同一区二区| 国产特级黄色片| 成人自拍视频在线| 欧洲一区二区日韩在线视频观看免费| 国产精品无码2021在线观看| 中文字幕不卡在线| 午夜久久久久久久久久久| 男人天堂亚洲| 日本久久电影网| 九九九九九伊人| 99精品中文字幕在线不卡| 亚洲精品国产精品国自产在线| av无码av天天av天天爽| 欧美激情777| 久久久久久久97| 国产成人精品777777| 蜜臀av性久久久久蜜臀av麻豆| 亚洲精品免费一区二区三区| 日本xxxxwww| 欧美激情一区在线| 韩日视频在线观看| 午夜欧美巨大性欧美巨大 | 欧美一区二区黄片| 国产亚洲一区二区在线观看| 浴室偷拍美女洗澡456在线| а√天堂资源官网在线资源| 欧美艳星brazzers| 又大又长粗又爽又黄少妇视频| 亚洲日本三级| 欧美国产精品va在线观看| 亚洲天堂男人av| 国产高清一区日本| 五码日韩精品一区二区三区视频| 欧美日韩经典丝袜| 欧美伊人久久久久久午夜久久久久| 苍井空张开腿实干12次| 波多野结衣在线播放一区| 欧美激情一区二区三区久久久 | 亚洲欧美高清| 91在线中文字幕| 成人在线观看免费| 亚洲成av人片在线| 在线免费看污网站| 国产欧美日韩精品一区二区免费 | 国产精一品亚洲二区在线视频| 老牛影视免费一区二区| 污污片在线免费视频| 欧美日韩国产一级二级| 国产精品密蕾丝袜| 亚洲国产婷婷| 91精品黄色| 国内精品不卡| 欧美伊人久久大香线蕉综合69| 国产人妻人伦精品1国产丝袜| 永久91嫩草亚洲精品人人| 国产精品成人播放| 免费一级毛片在线观看| 午夜欧美大尺度福利影院在线看| 在线免费黄色小视频| 97精品一区二区| 国产精品成人一区二区三区吃奶| 天堂av中文在线资源库| 亚洲精品国产a| 做a视频在线观看| 成人免费av| 国产精品成人av性教育| 成人午夜影视| 在线观看精品一区| 国产成人一区二区在线观看| 视频一区视频二区在线观看| 欧美12av| 一呦二呦三呦精品国产| 亚洲三级免费看| 久久夜色精品国产噜噜亚洲av| k8久久久一区二区三区| 久久国产精品视频在线观看| 9l视频自拍蝌蚪9l视频成人| 欧美激情a在线| 你懂的网站在线| 午夜av一区二区三区| 黄色免费视频网站| 亚洲一区激情| 欧美一区二区福利| 日本一区免费网站| 日韩在线激情视频| 国产男男gay网站| 一区二区三区免费看视频| 国产精品欧美性爱| 草莓福利社区在线| 免费久久精品视频| 一区二区日本| 免费欧美网站| 97国产真实伦对白精彩视频8| 色香蕉在线视频| 天天影视色香欲综合网老头| 成年人在线观看av| 日韩精品电影在线| 欧美aaa在线观看| 亚洲性视频在线| 555www成人网| 成年人在线观看网站| 欧美一区二区三区在线视频| 国产亚洲欧美精品久久久www| www.成人网.com| 国产精品wwwww| 国产精品久久久久久久久久10秀| 91精品国产91久久久久青草| 女人高潮被爽到呻吟在线观看 | 亚州av综合色区无码一区| 鲁大师影院一区二区三区| 先锋影音日韩| 亚洲一区二区三区免费| 日本精品一区二区三区在线| 日本欧美在线视频免费观看| 亚洲成人性视频| 午夜一区二区三区四区| 亚洲精品国产品国语在线app| 中文字幕日韩三级片| 久久精品国产99| 久久久久久免费看| 999国产精品视频| 国产亚洲欧美一区二区三区| 国产精品蜜月aⅴ在线| 欧美国产高跟鞋裸体秀xxxhd| 成人在线免费看| 亚洲第一在线视频| 97精品人妻一区二区三区香蕉| 亚洲图片欧美一区| 美女网站视频色| 成人av在线电影| www.久久av.com| 一区二区三区导航| 黄色污污在线观看| 精品一区二区三| 国产欧美一区二区三区另类精品| 成人深夜福利| 热久久这里只有| 97蜜桃久久| 欧美猛少妇色xxxxx| 成人动漫在线免费观看| 亚洲精品久久久久国产| 国产黄色片免费观看| 欧美视频中文字幕| 制服.丝袜.亚洲.中文.综合懂色| 亚洲精品成人天堂一二三| 97人妻人人揉人人躁人人| 成人精品一区二区三区四区| 91 视频免费观看| 日本亚洲最大的色成网站www| 国产3p露脸普通话对白| 欧美午夜不卡| 国产树林野战在线播放| 日韩精品久久| 日本一区二区不卡高清更新| 狼人精品一区二区三区在线| 超碰在线97av| 久久国际精品| 成人免费大片黄在线播放| 久久久久久一区二区三区四区别墅| 欧美伊久线香蕉线新在线| av免费不卡| 欧美激情视频在线观看| 成码无人av片在线观看网站| 色哟哟亚洲精品一区二区| 国产午夜在线观看| 一区国产精品视频| 国产在线视频福利| 亚洲人成网站免费播放| 日本午夜在线| 亚洲男人天堂网| 久久视频www| 亚洲男人的天堂在线| 精品影院一区| 国产亚洲一区二区在线| jizz日韩| 精品国产区一区二区三区在线观看| 中文字幕在线免费| 中文字幕一区二区精品| 日本www在线| 另类图片亚洲另类| av电影免费在线观看| 插插插亚洲综合网| 黄污视频在线观看| 538国产精品一区二区在线| 日本欧美日韩| 国产精品美女主播在线观看纯欲| 福利一区在线| 91人人爽人人爽人人精88v| 日韩成人18| 久久精品国产一区二区三区日韩| 无码日韩精品一区二区免费| 视频在线一区二区三区| 久久精品国产大片免费观看| 欧美精品一区二区性色a+v| 国产精品sm| 草草久久久无码国产专区| 久久性色av| 中文字幕资源在线观看| 国产69精品久久99不卡| av2014天堂网| 国产免费久久精品| 日韩成人短视频| 亚洲成人免费电影| 黄色av一区二区| 日韩一二三区视频| 视频一区二区三区在线看免费看| 国产亚洲欧洲黄色| 中文字幕资源网在线观看| 91国内在线视频| 成人国产一区| 国产伦精品一区二区三区四区免费| 久久99性xxx老妇胖精品| 欧美日韩在线免费观看视频| 亚洲高清av| 国产三级三级看三级| 丁香六月久久综合狠狠色| b站大片免费直播| 亚洲视频 欧洲视频| 国产视频91在线| 欧美精三区欧美精三区| 午夜激情小视频| 久久视频在线观看免费| 国产夫妻在线| 成人福利在线视频| 亚洲a级精品| 4444在线观看| 日韩国产欧美在线播放| 亚洲成年人在线观看| 中文子幕无线码一区tr| 日本三级网站在线观看| 欧美精品在线观看播放| 亚洲色欧美另类| 欧美超级免费视 在线| 最新欧美电影| 精品国产综合久久| 欧美在线网站| 国产亚洲视频一区| 国产亚洲综合av| 中文字幕亚洲精品在线| 日韩一区二区三区电影在线观看| 国产精品久久久久久久龚玥菲 | 一区二区三区视频在线播放| 亚洲国产专区校园欧美| 午夜影院免费观看视频| 国产精品无码永久免费888| www.av麻豆| 欧美成人一区二区三区片免费 | 久久久久久久久久久免费精品 | 国产一区二区黄色| 1024精品久久久久久久久| 亚洲国产高清av| 久久久久国产精品麻豆ai换脸| 国产午夜福利一区二区| 欧美一激情一区二区三区| √天堂资源地址在线官网| 国产精品91在线| 亚洲婷婷影院| 日韩精品xxxx| 91欧美一区二区| 日韩乱码人妻无码中文字幕| 精品国内二区三区| 欧美xxxx性xxxxx高清| 亚洲影院色在线观看免费| 午夜精品毛片| www.亚洲自拍| 亚洲精选视频在线| 国产伦理一区二区| 日韩视频免费大全中文字幕| 久久青草视频| 在线视频不卡国产| 久久99精品一区二区三区| 福利视频第一页| 欧美日韩国产高清一区二区三区| av网站在线免费观看| 国产精品久久久久久久久久三级 | 精品嫩模一区二区三区| 国产麻豆视频精品| 九九视频免费看| 亚洲第一二三四五区| 理论不卡电影大全神| 久久精品ww人人做人人爽| 午夜在线a亚洲v天堂网2018| 精品无码人妻一区| 在线欧美小视频| 午夜在线观看视频| 亚洲a成v人在线观看| 国产一区观看| 黄色片视频免费观看| 色94色欧美sute亚洲线路一ni| 成年人在线免费观看| 亚洲在线免费看| 国内精品福利| 大黑人交xxx极品hd| 在线观看日韩毛片| 麻豆影视国产在线观看| 不卡视频一区二区三区| 日韩一级精品| 高清国产在线观看| 在线不卡中文字幕| 超级碰碰不卡在线视频| 欧美成人蜜桃| 精品一区二区久久| 久久精品国产亚洲av无码娇色 | 激情亚洲成人| 右手影院亚洲欧美| 欧美日韩国产综合草草| brazzers在线观看| 日本一区二区三不卡| 国产一区二区精品久久| 日本网站免费观看| 一本一本久久a久久精品综合小说| 国产成人免费av一区二区午夜| 成人网站免费观看入口| 欧美高清在线视频| 朝桐光av在线一区二区三区| 亲子乱一区二区三区电影| 欧美freesextv| 国产精品嫩草av| 51精品秘密在线观看| 国产在线88av| 青青草影院在线观看| 2020国产成人综合网| 国产麻豆91视频| 国产精品久久久久9999|