久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

MySQL8.0數據庫開窗函數圖文詳解

瀏覽:3日期:2023-08-28 20:27:10
目錄簡介一、開窗函數 與 聚合函數 有什么區別?二、官方解釋的開窗函數三、開窗函數細分3.1、序號3.2、分布3.3、前后3.4、首尾3.5、其它四、語法使用4.1、語法結構4.2、普通聚合函數做開窗函數4.2.1、表結構4.2.2、表數據4.2.3、普通函數做開窗函數4.3、序號函數4.3.1、ROW_NUMBER()函數 4.3.2、RANK()函數4.3.3、DENSE_RANK()函數4.3.4、上述三種序號函數對比4.4、分布函數4.4.1、PERCENT RANK()函數4.4.2、CUME_DIST()函數4.5、前后函數4.5.1、LAG()函數4.5.2、LEAD()函數4.6、收尾函數4.6.1、FIRST_VALUE()函數4.6.2、LAST_VALUE()函數4.7、其它函數4.7.1、NTILE()函數4.7.2、NTH_VALUE()函數總結簡介

數據庫開窗函數是一種在SQL中使用的函數,它可以用來對結果集中的數據進行分組和排序,以便更好地分析和處理數據。開窗函數與聚合函數不同,它不會將多行數據聚合成一行,而是保留每一行數據,并對其進行分組和排序。

常見的開窗函數包括ROW_NUMBER()、RANK()、DENSE_RANK()、NTILE()、LAG()、LEAD()等。這些函數可以幫助用戶在結果集中生成分組和排序的結果,以便更好地理解和分析數據。

例如,使用ROW_NUMBER()函數可以根據一個或多個字段對結果集進行分組,并在每個分組內生成一個行號,以便用戶可以輕松地跟蹤數據。使用LAG()和LEAD()函數可以在結果集中的每一行之前和之后提取數據,以便用戶可以查看當前行之前或之后的數據。

開窗函數是SQL中非常有用的工具,可以幫助用戶對結果集中的數據進行分組和排序,以便更好地分析和處理數據。

MySQL 官方文檔: https://dev.mysql.com/doc/refman/8.0/en/window-functions.html

注意: 官方解釋 開窗函數只有MySQL8.0版本之后才有哦。

一、開窗函數 與 聚合函數 有什么區別?

數據處理范圍:聚合函數只能對整個數據表或者數據集進行操作,計算結果為單一值。而開窗函數則可以對每個行進行操作,計算結果會在每個行上顯示。

計算結果:聚合函數的計算結果只有一個,通常用于執行諸如求和、取平均值、計算最大值/最小值等的操作。而開窗函數的計算結果可以有多個,它提供給查詢結果集中每一行的附加列。語法:聚合函數通常用于SELECT語句中的SELECT子句和HAVING子句,而開窗函數通常在OVER關鍵字后使用。

二、官方解釋的開窗函數

翻譯

官方說的很官方,稍有點難以理解還是。

三、開窗函數細分3.1、序號ROW_NUMBER():該函數可以根據一個或多個字段對結果集進行分組,并在每個分組內生成一個行號,以便用戶可以輕松地跟蹤數據。RANK():該函數可以根據一個或多個字段對結果集進行排序,并在每個排序中生成一個排名,以便用戶可以了解數據的大小和順序。DENSE_RANK():該函數可以根據一個或多個字段對結果集進行排序,并在每個排序中生成一個排名,但跳過的位次比RANK()函數少一位。3.2、分布PERCENT RANK():函數用于計算數據集中每個值的百分比排名。CUME_DIST():函數用于計算數據集中每個值的累積密度排名。3.3、前后LAG():該函數可以在結果集中的每一行之前提取數據,以便用戶可以查看當前行之前的數據。LEAD():該函數可以在結果集中的每一行之后提取數據,以便用戶可以查看當前行之后的數據。3.4、首尾FIRST_VALUE():函數返回結果集的有序分區中的第一個值。LAST_VALUE():函數返回結果集的有序分區中的最后一個值。3.5、其它NTILE():該函數可以根據一個或多個字段對結果集進行分組,并將每個分組分配到指定數量的桶中,以便用戶可以更好地分析和分組數據。NTH_VALUE():函數返回結果集的有序分區中第n行的值。四、語法使用4.1、語法結構

<窗口函數> OVER ([PARTITION BY <分組列>] [ORDER BY <排序列> {ASC|DESC}] [<行窗口>|<范圍窗口>] [<開始位置>|<結束位置>|<長度>])

<窗口函數>表示要執行的聚合函數,如SUM、AVG、MAX、MIN、COUNT等;<分組列>表示要進行分組的列;<排序列>表示按照哪個列進行排序,可以指定多個排序列,用逗號分隔;<行窗口>和<范圍窗口>分別表示行級窗口和范圍級窗口;<開始位置>、<結束位置>和<長度>表示窗口的起始位置、結束位置和長度。

在 MySQL 8.0 中,行窗口是指一組連續的行,這些行被視為一個整體,并且可以用于窗口函數的計算。

行窗口由以下關鍵字指定:

ROWS:表示行窗口。BETWEEN:用于指定行窗口的起始位置和結束位置。PRECEDING:表示行窗口的起始位置。FOLLOWING:表示行窗口的結束位置。

常用的行窗口指定方式:

ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW:表示從結果集的第一個行到當前行,包括當前行。ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING:表示從當前行到結果集的最后一個行,包括當前行。ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING:表示包含當前行在內的前后各一行。

說明: 行窗口可以用于計算每組的總和、平均值、計數等聚合操作,也可以用于計算每個行的排名、累積和等操作。

4.2、普通聚合函數做開窗函數

普通聚合函數只能對整個數據表或者數據集進行操作,計算結果為單一值。而開窗函數可以針對每個行進行操作,計算結果會在每個行上顯示。

4.2.1、表結構DROP TABLE IF EXISTS `order_for_goods`;CREATE TABLE `order_for_goods` ( `order_id` int(0) NOT NULL AUTO_INCREMENT, `user_id` int(0) NULL DEFAULT NULL, `money` decimal(10, 2) NULL DEFAULT NULL, `quantity` int(0) NULL DEFAULT NULL, `join_time` datetime(0) NULL DEFAULT NULL, PRIMARY KEY (`order_id`) USING BTREE) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;4.2.2、表數據INSERT INTO order_for_goods (user_id, money, quantity, join_time )VALUES( 1001, 1800.90, 1, '2023-06-07'),( 1001, 3600.89, 5, '2023-05-02'),( 1001, 1000.10, 6, '2023-01-08'),( 1002, 1100.90, 9, '2023-04-07'),( 1002, 4500.99, 1, '2023-03-14'),( 1003, 2500.10, 3, '2023-02-14'),( 1002, 2500.90, 1, '2023-03-14'),( 1003, 2500.90, 1, '2022-12-12'),( 1003, 2500.90, 2, '2022-09-08'), ( 1003, 6000.90, 8, '2023-01-10');4.2.3、普通函數做開窗函數

1、語句如下

select *,sum(money) over(partition by user_id order by order_id) as alias_sum,avg(money) over(partition by user_id order by order_id) as alias_avg,max(money) over(partition by user_id order by order_id) as alias_max,min(money) over(partition by user_id order by order_id) as alias_min,count(money) over(partition by user_id order by order_id) as alias_countfrom order_for_goods;

從 order_for_goods 表中選擇了所有的列,并計算了每個用戶在每個訂單中的總金額、平均金額、最大金額、最小金額和計數。

這個查詢使用了 sum()、avg()、max()、min() 和 count() 函數來計算每個訂單的總金額、平均金額、最大金額、最小金額和計數。這些函數后面跟著 over() 子句,用于指定計算的窗口。在這個例子中,窗口是按照 user_id 分區,按照 order_id 排序的。

2、查詢結果返回了選擇的列和計算出的別名列如下

4.3、序號函數4.3.1、ROW_NUMBER()函數

1、執行語句

select *from (select *,row_number() over(partition by user_id order by money desc) as alias_row_numberfrom order_for_goods) twhere alias_row_number<=3;以上SQL語句使用了窗口函數 row_number() 來為每個分區內的行分配序號。然后,外部查詢從這些序號中選擇前三個最高的行。內部查詢從 order_for_goods 表中選擇了所有的列,并使用 row_number() 函數為每個分區內的行分配序號。在這個例子中,子查詢將數據是按照 user_id 列進行分區 ,按照 money 列的降序排列的。外部查詢從內部查詢的結果中選擇了序號小于等于 3 的行,這些行對應于分區內前三高的行。

2、執行結果

3、執行語句

select *from (select *,row_number() over(partition by user_id order by money desc) as alias_row_numberfrom order_for_goods) twhere alias_row_number<=1;

以上這個查詢語句與上一個查詢語句類似,只不過 alias_row_number<=3 改成了 alias_row_number<=1,因此結果將只返回分區內最高的一行。

4、執行結果

總結: 可以發散思維想一想,舉個栗子: 比如統計各個商品領域銷量排行前三。使用開窗是不是可以解決很多問題,也避免了大量難以維護且看不懂的sql邏輯。

4.3.2、RANK()函數

1、執行語句

select *, rank() over(partition by user_id order by money desc) as alias_rank from order_for_goods;

以上SQL語句使用了窗口函數 rank() 來為每個用戶計算一個別名排名(alias_rank)。rank() 函數會為每個分區內的連續排名計算一個排名值,因此這個語句會為每個用戶計算一個別名排名。注意語句沒有指定任何條件,因此它會返回 order_for_goods 表中的所有行和列。如果需要查詢特定的行或列,可以在 select 子句中指定相應的條件或列名。

2、執行結果

4.3.3、DENSE_RANK()函數

1、執行語句

select *, dense_rank() over(partition by user_id order by money desc) as alias_dense_rank from order_for_goods; 以上SQL語句使用了窗口函數 dense_rank() 來為每個用戶計算一個別名密集排名(alias_dense_rank)。dense_rank() 函數會為每個分區內的排名計算一個排名值,對于相鄰排名值相同的行,排名值會連續分配。因此,這個語句會為每個用戶計算一個別名密集排名。注意語句沒有指定任何條件,因此它會返回 order_for_goods 表中的所有行和列。如果需要查詢特定的行或列,可以在 select 子句中指定相應的條件或列名。

2、執行結果

4.3.4、上述三種序號函數對比

1、執行語句

select *, row_number() over(partition by user_id order by money desc) as alias_row_number, rank() over(partition by user_id order by money desc) as alias_rank, dense_rank() over(partition by user_id order by money desc) as alias_dense_rankfrom order_for_goods; 從 order_for_goods 表中選擇了所有的列,并計算了每個用戶在每個訂單中的總金額,以及計算了每個用戶在每個訂單中的序號、排名和稠密排名。這個查詢使用了 row_number()、rank() 和 dense_rank() 函數來計算每個分區內的行的序號、排名和稠密排名。這些函數后面跟著 over() 子句,用于指定計算的窗口。在這個例子中,窗口是按照 user_id 分區,按照 money 列的降序排列的。

2、執行結果

4.4、分布函數4.4.1、PERCENT RANK()函數

1、執行語句

select *,percent_rank() over(partition by user_id order by money desc) as alias_percent_rankfrom order_for_goods; 從 order_for_goods 表中選擇了所有的列,并計算了每個用戶在每個訂單中的總金額,以及計算了每個用戶在每個訂單中的百分比排名。這個查詢使用了 percent_rank() 函數來計算每個分區內的行的百分比排名。這個函數后面跟著 over() 子句,用于指定計算的窗口。在這個例子中,窗口是按照 user_id 分區,按照 money 列的降序排列的。

2、執行結果

4.4.2、CUME_DIST()函數

1、執行語句

select *,cume_dist() over(partition by user_id order by money desc) as alias_percent_rankfrom order_for_goods; 從 order_for_goods 表中選擇了所有的列,并計算了每個用戶在每個訂單中的總金額,以及計算了每個用戶在每個訂單中的累積百分比。這個查詢使用了 cume_dist() 函數來計算每個分區內的行的累積百分比。這個函數后面跟著 over() 子句,用于指定計算的窗口。在這個例子中,窗口是按照 user_id 分區,按照 money 列的降序排列的。

2、執行結果

4.5、前后函數4.5.1、LAG()函數

1、語法說明

LAG()函數是用于在時間序列中向前移動指定周期的函數。

LAG(expression, offset, default_value)

expression:要取值的列 offset:向前數第幾行的值 default_value:如果沒有值,可設置默認值

2、執行語句

select *,lag(join_time, 1, 0) over(partition by user_id order by join_time desc) as alias_lagfrom order_for_goods;

3、執行結果

4.5.2、LEAD()函數

1、語法說明

LEAD()函數是用于在時間序列中向后移動指定周期的函數。

LAG(expression, offset, default_value)

expression:要取值的列 offset:向后數第幾行的值 default_value:如果沒有值,可設置默認值

2、執行語句

select *,lead(join_time, 1, 0) over(partition by user_id order by join_time desc) as alias_leadfrom order_for_goods;

3、執行結果

4.6、收尾函數4.6.1、FIRST_VALUE()函數

1、語法說明

FIRST_VALUE:取窗口第一行的值

FIRST_VALUE(expression)

expression:一個表達式,用于指定要獲取第一行值的列或計算結果。

2、執行語法

select *,first_value(money) over(partition by user_id order by join_time desc) as alias_first_valuefrom order_for_goods;

注意,如果某個用戶在指定時間范圍內沒有數據,則 LAST_VALUE() 函數將返回默認值 NULL。

3、執行結果

4.6.2、LAST_VALUE()函數

1、語法說明

LAST_VALUE:取窗口最后一行的值。

LAST_VALUE(expression)

expression:一個表達式,用于指定要獲取最后一行值的列或計算結果。

2、執行語法

select *,first_value(money) over(partition by user_id order by join_time desc) as alias_first_valuefrom order_for_goods;

注意,如果某個用戶在指定時間范圍內沒有數據,則 LAST_VALUE() 函數將返回默認值 NULL。

2、執行結果

3、解釋

你可能會發現LAST_VALUE() 不是取窗口的最后一個值,窗口按照 user_id 分區,按照 join_time 列排序,按道理是返回1001分區中money為1800.90才對啊? 為什么? 為什么?原因是LAST_VALUE()默認統計范圍是 rows between unbounded preceding and current row

3、驗證

select *,last_value(money) over(partition by user_id order by join_time) as alias_last_value1,last_value(money) over(partition by user_id order by join_time rows between unbounded preceding and current row) as alias_last_value2,last_value(money) over(partition by user_id order by join_time rows between unbounded preceding and unbounded following) as alias_last_value3from order_for_goods; 可以看到別名 alias_last_value2 驗證了LAST_VALUE()默認統計范圍就是 rows between unbounded preceding and current row(表示從當前行開始向前沒有邊界地進行計算,即計算當前行之前的所有行的結果。) 可以看到別名 alias_last_value3 在指定 rows between unbounded preceding and unbounded following(表示從當前行開始向前和向后都沒有邊界地進行計算,即計算整個分區的結果。)全部統計情況下可以得到,user_id 分區,join_time 列排序,返回1001分區中字段money最后一筆交易金額為1800.90。+----------+---------+---------+----------+---------------------+------------------+------------------+------------------+| order_id | user_id | money | quantity | join_time | alias_last_value | alias_last_value | alias_last_value |+----------+---------+---------+----------+---------------------+------------------+------------------+------------------+| 34 | 1001 | 1000.10 |6 | 2023-01-08 00:00:00 | 1000.10 | 1000.10 | 1800.90 || 33 | 1001 | 3600.89 |5 | 2023-05-02 00:00:00 | 3600.89 | 3600.89 | 1800.90 || 32 | 1001 | 1800.90 |1 | 2023-06-07 00:00:00 | 1800.90 | 1800.90 | 1800.90 || 36 | 1002 | 4500.99 |1 | 2023-03-14 00:00:00 | 2500.90 | 4500.99 | 1100.90 || 38 | 1002 | 2500.90 |1 | 2023-03-14 00:00:00 | 2500.90 | 2500.90 | 1100.90 || 35 | 1002 | 1100.90 |9 | 2023-04-07 00:00:00 | 1100.90 | 1100.90 | 1100.90 || 40 | 1003 | 2500.90 |2 | 2022-09-08 00:00:00 | 2500.90 | 2500.90 | 2500.10 || 39 | 1003 | 2500.90 |1 | 2022-12-12 00:00:00 | 2500.90 | 2500.90 | 2500.10 || 41 | 1003 | 6000.90 |8 | 2023-01-10 00:00:00 | 6000.90 | 6000.90 | 2500.10 || 37 | 1003 | 2500.10 |3 | 2023-02-14 00:00:00 | 2500.10 | 2500.10 | 2500.10 |+----------+---------+---------+----------+---------------------+------------------+------------------+------------------+10 rows in set (0.00 sec)4.7、其它函數4.7.1、NTILE()函數

1、語法說明

NTILE() 用于將一個查詢結果集劃分成指定數量的桶,并根據桶的大小將數據分配到各個桶中。

NTILE(bucket_size)

bucket_size:一個整數參數,表示要將結果集劃分成的桶的數量。

2、執行語句

select *, ntile(1) over(partition by user_id order by join_time desc) as alias_ntile1,ntile(2) over(partition by user_id order by join_time desc) as alias_ntile2,ntile(3) over(partition by user_id order by join_time desc) as alias_ntile3from order_for_goods; 查詢使用窗口函數 NTILE(),它可以將數據集合平均分配到指定的數量的桶中,并返回每個行所屬的桶號。 以別名 "alias_ntile3" 舉例,該查詢中ntile(3) 表示將每個用戶分為三個組,partition by user_id 表示按照 user_id 分組,order by join_time desc 表示按照 join_time 降序排序。如果是ntile(2)就表示分兩個組ntile(1)就表示分一個組。

3、執行結果

說明: NTILE()函數,可以將有序的數據集合平均分配到指定的數量的桶中,將桶號分配給每一行。如果不能平均分配,則較小桶號的桶分配額外的行,并且各個桶中能放的行數最多相差1。

4.7.2、NTH_VALUE()函數

1、語法說明

NTH_VALUE() 函數是 SQL 中用于計算一個有序數據集合中指定位置的值的窗口函數。

NTH_VALUE(expression, nth_parameter) expression:要計算其值的表達式,其求值為單個值。 nth_parameter:是一個整數參數,表示要計算的值的序號。

2、執行語句

select *, nth_value(money, 2) over(partition by user_id order by join_time ) as alias_nth_valuefrom order_for_goods;

注意,如果某個用戶在指定時間范圍內沒有數據,則 NTH_VALUE()函數將返回默認值 NULL。

3、執行結果

總結

到此這篇關于MySQL8.0數據庫開窗函數的文章就介紹到這了,更多相關MySQL8.0開窗函數內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: MySQL 數據庫
主站蜘蛛池模板: 国产中文字幕在线 | 中文字幕亚洲一区 | 日本超碰 | 久久国产美女 | 国产精品一二区 | 亚洲国产视频网站 | 久久国产精品无码网站 | 人人干在线 | 亚洲免费视频网 | 在线观看国产精品一区二区 | 久久首页| 午夜视频免费网站 | 亚洲国产在 | 九九热有精品 | 亚洲视频在线观看 | 欧美激情一区二区三区在线观看 | 亚洲欧美日韩国产综合精品二区 | 啪一啪操一操 | 国产精品免费一区二区三区四区 | 亚洲一区二区三区中文字幕 | 欧美日韩电影一区二区 | 二区三区在线观看 | 伊人午夜 | 色资源站| 国产精品久久国产精品 | 亚洲国产精品久久人人爱 | 欧美日韩一区二区在线 | 国产精品久久久久久久久晋中 | 精品在线播放 | 麻豆久久 | 亚洲欧洲视频在线 | 精品成人在线 | 日韩欧美一级精品久久 | 中文字幕一区二区三区不卡 | 久久久久国产精品一区二区 | 中国妞xxxhd露脸偷拍视频 | 自拍视频在线观看免费 | 精品伊人| 亚洲久久 | 亚洲综合色视频在线观看 | 天天干在线影院 | 欧美黄视频 | 色黄视频在线 | 国产日韩一区二区三区 | 久久99精品久久久久久噜噜 | 精品久久久久久久久久久下田 | 国内久久精品视频 | 日韩三级电影在线免费观看 | 欧美午夜精品久久久久久浪潮 | 成年人在线视频播放 | 欧美区在线 | 成人黄色电影小说 | 亚洲人成网亚洲欧洲无码 | 日韩中文视频 | 欧美天堂在线观看 | 精品国产91亚洲一区二区三区www | 操视频网站 | 久久99精品国产99久久6男男 | 亚洲福利一区 | 久久精品一区二区三区四区 | 国产精品久久久久久久久久久久久 | 欧美成人免费在线视频 | 成年免费a级毛片 | 久久精品a一级国产免视看成人 | 91精品国产综合久久久久久漫画 | 99精品国产一区二区 | 宅男lu666噜噜噜在线观看 | 国产精品第一区 | 国产一区亚洲二区三区 | 亚洲在线播放 | 91高清视频在线观看 | 日韩成年视频 | 日本不卡高字幕在线2019 | 日韩欧美成人一区二区三区 | 91亚洲国产亚洲国产 | 一区二区精品 | 青草视频在线免费观看 | 欧美成人h版在线观看 | 日韩免费在线观看视频 | 成人欧美一区二区三区在线观看 | 欧美成人黄激情免费视频 | 热久久国产 | 中文字幕日韩一区二区 | 一级黄色短片 | 成人免费一区二区三区视频网站 | av官网| 91精品综合久久久久久五月天 | 天堂一区二区三区 | 成人国产精品视频 | 国产精品乱码一区二区三区 | 亚洲精品久久久久999中文字幕 | 最近的中文字幕在线看视频 | 国产精品视频免费 | 国产欧美日韩精品一区 | 91精品啪啪 | 久久久国产精品免费 | 亚洲自啪| 成人精品视频一区二区三区 | 视频在线一区二区 | 欧美日韩国产免费一区二区三区 | 久草 在线 | 一级毛片免费 | 奇米影视首页 | 三级成人片 | 精品国产91久久 | 91视频在线播放视频 | 欧美视频在线免费 | 91免费看片 | 久久国产精品视频一区 | 欧洲一区二区在线观看 | 国产美女在线观看 | 不卡一区二区三区四区 | 国产福利一区二区 | 欧美大片在线看免费观看 | 亚洲社区在线观看 | 中文字幕第二页 | 伊人欧美在线 | 国产一区二区三区网站 | 一级黄色毛片免费 | 久久精品电影 | 91在线看| 亚洲男人天堂网 | www.国产精品| 欧美激情在线播放 | 成人高清视频在线观看 | 久久99精品久久久久久琪琪 | 久久精品亚洲一区 | 99福利视频 | 国产一级黄片毛片 | 亚洲一区二区三区四区在线观看 | 一区二区精品在线 | 欧美日韩国产一区二区三区不卡 | 精品亚洲永久免费精品 | 91欧美在线| 国产成人精品一区二区三区视频 | 日韩精品免费观看 | 可以在线观看的av网站 | 国产艹 | 国产在线一区二区 | 欧美aaa一级片 | 国内精品久久精品 | 久久精品毛片 | 国产欧美高清在线观看 | 欧美激情国产日韩精品一区18 | 精品自拍视频 | 国产精品久久综合 | 一本一道久久a久久精品综合 | 91精品中文字幕一区二区三区 | 国产专区一区 | 九九热精品在线 | 亚洲a网 | 亚洲午夜精品视频 | 日韩成人影院在线观看 | 91在线视频播放 | 国产永久免费 | 国产一区在线免费观看 | 国产一级视频在线观看 | 正在播放国产一区 | 久久久av | 国产成人天天爽高清视频 | 天天操操 | 精品视频久久 | 日韩欧美在线播放 | 麻豆精品久久久 | 久久精视频 | 精品国产1区2区3区 在线国产视频 | 91网站在线看 | 欧美福利视频 | 国产精品国产成人国产三级 | 91,看片 | 日韩一区二区在线免费 | 天天精品| 成人看的免费视频 | 久久久999精品视频 欧美老妇交乱视频 | 国产一区二区三区在线免费观看 | 日日夜夜一区二区 | 国产视频精品一区二区三区 | 激情久久久久 | 日韩欧美在线免费观看 | 一区二区三区影院 | 婷婷色国产偷v国产偷v小说 | 国产精品视频成人 | 亚洲成人在线视频观看 | 毛片毛片毛片毛片 | 国内精品在线视频 | h片免费观看 | 欧美精品a∨在线观看不卡 欧美日韩中文字幕在线播放 | 综合自拍偷拍 | 色视频网站免费看 | 香蕉av777xxx色综合一区 | 北条麻妃一区二区三区在线观看 | 日韩在线视频观看 | 日韩视频中文字幕在线观看 | 国产在线一区二区三区 | 国产精品久久久久久久久久久久午夜片 | 一级毛片免费看 | 国产三级在线 | 欧美女优在线视频 | 欧美视频成人 | av网站免费在线观看 | 国产做a | 久久精品综合 | 久久国产精品久久久久久久久久 | 精品美女在线 | 日韩一区在线视频 | 欧美专区中文字幕 | 日韩三级中文字幕 | 欧美视频xxx| 99这里只有精品视频 | 欧美啪 | 精品国产一区一区二区三亚瑟 | 午夜成人免费视频 | 久久精选视频 | 成人国产精品久久久 | 成人在线观看中文字幕 | 日韩久久在线 | 草草视频在线观看 | 久草精品视频 | 自拍视频在线观看 | 久久久久久亚洲精品 | 国产网址在线 | aaaa大片| 国产综合久久 | 婷婷色国产偷v国产偷v小说 | 精品久| 精品一区二区三区免费毛片 | 国产精品一区二区在线 | 有码在线| 国产高清在线精品一区二区三区 | 综合色婷婷一区二区亚洲欧美国产 | 久久精品亚洲一区 | 国产精品二区三区 | 日韩一区二区三区在线观看 | 久久夜视频 | 欧美国产在线观看 | 国产在线91 | 久久精品视频免费看 | 国产婷婷综合 | 日韩欧美国产精品 | 精品在线不卡 | 久久国产精品久久久久久久久久 | 亚洲国产一区二区三区四区 | 曰批视频在线观看 | 国产精品一区二区在线 | 密室大逃脱第六季大神版在线观看 | 91精品国产欧美一区二区 | 国产h片在线观看 | 亚洲国产成人av | 欧美在线综合 | 日日摸日日碰夜夜爽不卡dvd | av中文字幕在线播放 | avsex国产 | 国产日韩欧美综合 | 欧美电影一区 | 国产一区二区视频在线播放 | 欧美一级二级三级 | 精品国产一区二区三区性色av | 碰在线视频 | 国产探花在线看 | 日本久久免费 | 国产精品成av人在线视午夜片 | 色天天综合久久久久综合片 | 精品国产欧美一区二区 | 久久久久久久一区 | 日韩免费精品 | 久久久久久国产 | 国产精久 | 免费av毛片 | 一级做a| 91中文字幕在线 | 91精品久久久久久综合五月天 | www.fefe66.com| 日韩一区精品 | 一区二区三区在线 | 欧 | 日韩欧美在线视频 | 久久久久无码国产精品一区 | av解说在线精品 | 一区二区三区在线播放 | 欧美精品99| 91麻豆视频 | 久久精品播放 | 成人在线一区二区三区 | 99视频网 | 国产伊人久 | 精品成人免费视频 | 日产精品久久 | 久草在线 | 蜜桃av在线播放 | 国产日韩在线视频 | 中文字幕在线视频免费播放 | 91高清视频 | 亚洲乱码国产乱码精品精98午夜 | 91资源在线观看 | 亚洲一区二区三区观看 | 欧美成人性生活 | 91在线精品一区二区 | 国产在线一区二区 | 一区二区三区视频在线观看 | 欧美一区二区三区免费视频 | 综合久久综合久久 | 午夜精品久久久久久久 | 欧美综合视频 | 成人一级毛片 | 国产一级特黄aaa大片评分 | 人和拘一级毛片 | 中文字幕精品三级久久久 | 国产欧美综合一区二区三区 | 久久综合色视频 | 国产精品久久久久久妇女6080 | 99视频这里有精品 | 色鲁97精品国产亚洲 | 成人日批 | 久久久久久久久久久久国产精品 | 91精品国产91久久久久久不卡 | 91大神免费观看 | 欧美一级二级三级 | h视频在线观看免费 | 久久成人在线 | 免费黄色网止 | 51ⅴ精品国产91久久久久久 | 欧美日韩精品一区二区在线播放 | 国产成人久久 | 精品欧美乱码久久久久久 | 色综合天天天天做夜夜夜夜做 | 日本中文字幕一区 | 一区二区三区在线播放 | 午夜影视av| 久久久精品网站 | 久久国产精品免费一区二区三区 | 日韩精品一区二区三区在线 | 欧美一区二区三区黄色 | 北条麻妃国产九九九精品小说 | 欧美视频在线播放 | 91久久夜色精品国产网站 | 伊人免费在线观看高清版 | 久草 在线 | 日韩欧美一区二区三区久久婷婷 | 欧美激情在线狂野欧美精品 | 夜夜爽99久久国产综合精品女不卡 | 波多野结衣中文字幕在线视频 | 久久精品二区 | 一区二区在线免费观看 | 96久久久久久 | 91午夜伦伦电影理论片 | 免费看国产一级特黄aaaa大片 | 久久久久国产精品一区二区 | www婷婷| 日韩1区3区4区第一页 | 国产精品久久综合 | 欧美成人精品一区二区男人看 | 日韩免费精品视频 | 免费看的黄网站 | 国产日产精品一区二区三区四区 | 国产欧美日本 | 日韩视频免费 | 成人午夜电影在线 | 国产一区二区三区视频 | av免费网站 | 精品一区二区三区在线观看视频 | 性高湖久久久久久久久 | 青青草超碰在线 | 欧洲美女性开放视频 | 欧美精品在线视频 | 亚洲国产精品99久久久久久久久 | 国产一区二区三区久久久 | av免费在线播放 | 久久久久久久久久久精 | 91久久久久久久 | 精品99免费| 日韩精品专区在线影院重磅 | 欧美日韩国产在线 | 国产精品影视 | 三级黄色片在线免费观看 | 免费在线日本 | 91网在线播放 | 激情综合久久 | 在线一区视频 | 亚洲成av人乱码色午夜 | 亚洲欧美中文字幕 | 欧美日韩精品在线一区 | 三级成人片 | 亚洲成人av| 中国一级免费毛片 | 久久精品一 | 国产中文在线 | 九九综合九九综合 | 欧美中文字幕在线观看 | 国产精品久久久久aaaa九色 | 一区二区三区四区日韩 | 亚洲久草视频 | 美女久久久久 | 欧美日本国产 | 欧美日韩在线免费观看 | 欧洲精品乱码久久久久蜜桃 | 自拍偷拍一区二区三区 | 国产精品1| 日韩高清中文字幕 | 中文字幕亚洲在线观看 | 激情网在线观看 | 都市激情av | 国产精品揄拍一区二区久久国内亚洲精 | 日韩精品专区 | 国产女人爽到高潮免费视频 | 在线亚州| 国产精品高清一区二区 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | 免费视频一区 | 国产中文字幕一区 | 亚洲成人高清 | 欧美淫视频 | 国产综合久久久久久鬼色 | 在线看av网址 | 一区二区三区四区 | 久久成人高清 | 日韩av在线一区二区三区 | 欧美日韩一区二区视频在线观看 | 国产综合久久 | 国产宾馆自拍 | 可以免费看的av | 伊人网站| 美女视频一区 | 国产精品二区三区 | 国产欧美高清在线观看 | 美日韩精品 | 天堂资源| 亚洲一区二区中文字幕在线观看 | 六月色婷婷 | 国产黄网 | 色吧一区 | 亚洲国产婷婷 | 免费观看日韩一级片 | 男人的天堂在线视频 | 国产精品久久久久久久久久免费看 | 亚洲成人免费在线观看 | 午夜激情视频 | 美女天堂 | 看亚洲a级一级毛片 | 影音先锋亚洲资源 | 欧美一极片| a在线免费观看 | 亚洲一区二区在线 | 欧美精品久久久 | 久久国产精品久久久久久电车 | 欧美区国产区 | 国产精品99在线观看 | 中文字幕在线精品 | 久久久精品欧美 | 中文字幕精品三区 | 日狠狠 | 中文字幕在线观看av | 精品久久久久久久久久久 | 日韩av免费在线观看 | 亚洲免费影院 | 一区二区三区四区免费观看 | 国产电影一区二区在线观看 | 国产精品99 | 在线日韩中文字幕 | 久在线观看 | 亚洲一区 中文字幕 | 青草青草久热精品视频在线观看 | av性色| 91视频久久 | 欧美高清dvd | 搜一级毛片| 成人欧美一区二区三区白人 | 中文久久| 欧美日韩激情 | 久久91精品国产 | 97久久精品午夜一区二区 | 国产视频一区二区三区四区 | 欧美日韩视频一区二区 | 暖暖av| 亚洲精品乱码久久久久久久久 | 精品久久精品 | 色香蕉在线| 色久天堂| 日本高清视频在线播放 | 99国产精品99久久久久久 | 国产精品久久一区二区三区 | 亚洲国产激情 | 午夜视频网站 | 91精品国产乱码久久久久久 | www.五月天婷婷| 亚洲日本韩国在线观看 | 午夜国产精品成人 | 亚洲一区二区三区欧美 | 亚洲久草| 男女黄色免费网站 | 男女污污网站 | 超碰999| 国内精品99| 亚洲精品成人久久久 | 欧美专区中文字幕 | 国产精品亚洲第一 | 国产成人福利视频 | 国产午夜精品久久久久久久 | 精品一区二区三区四区视频 | 欧美日韩不卡合集视频 | 性色av一区二区三区免费看开蚌 | 久久久久国产一级毛片高清版小说 | 亚洲精品成人 | 羞羞的视频在线观看 | 亚洲一区综合 | 国产噜噜噜噜噜久久久久久久久 | 亚洲精品一区二三区 | 一区二区三区四区日韩 | 亚洲精品一区二区三区四区高清 | 欧美精品在线观看免费 | 成人在线观看中文字幕 | 国产精品国产 | 91精品一区 | 一级欧美一级日韩 | 成人在线精品视频 | 国产一区二区三区久久久久久 | 欧美 国产精品 | 国产成人精品久久二区二区91 | 亚洲高清视频在线观看 | 久草国产视频 | 欧美在线播放 | 欧美在线二区 | 欧美日韩在线精品 | 亚洲国产精品自拍 | 亚洲视频在线看 | 久久精品国产99国产精品 | 久久激情视频 | 国产高清在线精品一区二区三区 | 男人天堂网址 | 91精品国产综合久久久久久丝袜 | 91一区二区 | 黄a在线 | 日本一区二区中文字幕 | 中文字幕在线观看 | 桃色视频在线播放 | 久久精品色欧美aⅴ一区二区 | 亚洲第一av | 中文成人无字幕乱码精品 | 日本成人久久 | 男女羞羞网站 | 国产精品一码二码三码在线 | 国产一区 | 成人免费在线视频 | 免费观看黄色一级大片 | 精品久久久久一区二区三区 | 99re6在线 | 亚洲视频自拍 | 国产成人一区 | 精品国产一区二区三区高潮视 | 玖玖视频在线 | 色婷婷综合网 | 一区二区三区四区视频 | 91免费观看| 亚洲午夜电影 | 黄色视频a级毛片 | 国产高清免费视频 | 一区二区三区精品 | 亚洲国产视频一区 | 国产精品有限公司 | 亚洲激情在线 | 日韩综合在线 | 91社影院在线观看 | 中文字幕二区三区 | 午夜视频在线免费观看 | 色综合久久久久 | 国产精品一区二区三区在线播放 | 欧美精品xx| 午夜精品影院 | 日韩在线免费 | 日本欧美一区二区 | 在线无码 | 欧美精品在线一区二区三区 | 另类视频在线 | 精品久久久蜜桃 | 国产精品爱久久久久久久 | 精品久久久久久久久久 | 久久精品99国产精品亚洲最刺激 | 日日综合| 精品欧美一区二区三区久久久 | 久久精品视频免费看 | а天堂中文官网 | 亚洲国产精品99久久久久久久久 | 不卡一区 | 精品视频一区二区在线 | 亚洲欧美一区二区三区在线 | 全毛片 | 簧片av | 久久国产高清 | 日韩三区 | www久久精品 | 成人免费在线视频播放 | 亚洲欧美一区二区精品中文字幕 | 国产网站在线 | 国产精品国产三级国产aⅴ入口 | 国产午夜一区二区三区 | www.久久| 国产主播福利 | 色婷婷综合久久久中文字幕 | 国产九色视频 | 国产激情午夜 | 久久这里只有精品首页 | 玖玖在线精品 | 欧美久久久久 | 成人在线免费视频 | 北条麻妃99精品青青久久 | 日韩专区在线播放 | 久久久久亚洲精品 | 国产成人高清在线 | 伊人网伊人 | 99re在线视频精品 | 成人自拍视频 | 奇米成人| 国产欧美高清在线观看 | 欧美福利专区 | 美女一区二区三区四区 | 中文字幕第七页 | 国产激情偷乱视频一区二区三区 |