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

詳解SQL Server 2005四種排名函數

運維 數據庫運維 SQL Server
在SQL 2005中存在四種排名函數: ROW_NUMBER、RANK、DENSE_RANK 和 NTILE。這些新函數可以有效地分析數據以及向查詢的結果行提供排序值。您可能發現這些新函數有用的典型方案包括:將連續整數分配給結果行,以便進行表示、分頁、計分和繪制直方圖。

下面通過具體的方案將用來討論和演示不同的函數和它們的子句。

十一位演講者在會議中發表演講,并且為他們的講話獲得范圍為 1 到 9 的分數。結果被總結并存儲在下面的 SpeakerStats 表中: 

Code
CREATE TABLE SpeakerStats(
    speaker  VARCHAR(10) NOT NULL PRIMARY KEY
    , track    VARCHAR(10) NOT NULL
    , score    INT   NOT NULL
    , pctfilledevals INT   NOT NULL
    , numsessions    INT   NOT NULL)
SET NOCOUNT ON
INSERT INTO SpeakerStats VALUES('Dan',     'Sys', 3, 22, 4)
INSERT INTO SpeakerStats VALUES('Ron',     'Dev', 9, 30, 3)
INSERT INTO SpeakerStats VALUES('Kathy',   'Sys', 8, 27, 2)
INSERT INTO SpeakerStats VALUES('Suzanne', 'DB', 9, 30, 3)
INSERT INTO SpeakerStats VALUES('Joe',     'Dev', 6, 20, 2)
INSERT INTO SpeakerStats VALUES('Robert', 'Dev', 6, 28, 2)
INSERT INTO SpeakerStats VALUES('Mike',    'DB', 8, 20, 3)
INSERT INTO SpeakerStats VALUES('Michele', 'Sys', 8, 31, 4)
INSERT INTO SpeakerStats VALUES('Jessica', 'Dev', 9, 19, 1)
INSERT INTO SpeakerStats VALUES('Brian',   'Sys', 7, 22, 3)
INSERT INTO SpeakerStats VALUES('Kevin',   'DB', 7, 25, 4)

每個演講者都在該表中具有一個行,其中含有該演講者的名字、議題、平均得分、填寫評價的與會者相對于參加會議的與會者數量的百分比以及該演講者發表演講的次數。本節演示如何使用新的排序函數分析演講者統計數據以生成有用的信息。

1、ROW_NUMBER()函數

返回結果集分區內行的序列號,每個分區的第一行從 1 開始。一般與OVER連用。
例如,假設您要返回所有演講者的 speaker、track 和 score,同時按照 score 降序向結果行分配從 1 開始的連續值。以下查詢通過使用 ROW_NUMBER 函數并指定 OVER (ORDER BY score DESC) 生成所需的結果:    

Code
Code
SELECT ROW_NUMBER() OVER(ORDER BY score DESC) AS rownum, speaker, track, score
FROM SpeakerStats

rownum speaker    trackscore
------ ---------- ---------- -----------
1Jessica     Dev  9
2Ron   Dev  9
3Suzanne   DB   9
4Kathy     Sys   8
5Michele   Sys   8
6Mike DB    8
7KevinDB    7
8BrianSys   7
9Joe Dev   6
10     Robert  Dev    6
11     Dan     Sys   3

得分最高的演講者獲得行號 1,得分最低的演講者獲得行號 11。ROW_NUMBER 總是按照請求的排序為不同的行生成不同的行號。請注意,如果在 OVER() 選項中指定的 ORDER BY 列表不唯一,則結果是不確定的。這意味著該查詢具有一個以上正確的結果;在該查詢的不同調用中,可能獲得不同的結果。例如,在我們的示例中,有三個不同的演講者獲得相同的最高得分 (9):Jessica、Ron 和 Suzanne。由于 SQL Server 必須為不同的演講者分配不同的行號,因此您應當假設分別分配給 Jessica、Ron 和 Suzanne 的值 1、2 和 3 是按任意順序分配給這些演講者的。如果值 1、2 和 3 被分別分配給 Ron、Suzanne 和 Jessica,則結果應該同樣正確。

如果您指定一個唯一的 ORDER BY 列表,則結果總是確定的。例如,假設在演講者之間出現得分相同的情況時,您希望使用最高的 pctfilledevals 值來分出先后。如果值仍然相同,則使用最高的 numsessions 值來分出先后。最后,如果值仍然相同,則使用最低詞典順序 speaker 名字來分出先后。由于 ORDER BY 列表 — score、pctfilledevals、numsessions 和 speaker — 是唯一的,因此結果是確定的:

Code

SELECT ROW_NUMBER() OVER(ORDER BY score DESC, pctfilledevals DESC,  numsessions DESC, speaker) AS rownum,   speaker, track, score, pctfilledevals, numsessions
FROM SpeakerStats

rownum speaker    trackscore pctfilledevals numsessions
------ ---------- ---------- ----------- -------------- -----------
1    Ron    Dev  9   30 3
2    Suzanne    DB   9   30 3
3    JessicaDev 9   19 1
4    Michele     Sys  8   31 4
5    Kathy Sys  8   27 2
6    Mike   DB   8   20 3
7    Kevin  DB   7   25 4
8    Brian  Sys  7   22 3
9    RobertDev  6   28 2
10  Joe    Dev  6   20 2
11  Dan   Sys   3  22 4

本節所講到排序函數的重要好處之一是它們的效率。SQL Server 的優化程序只需要掃描數據一次,以便計算值。它完成該工作的方法是:使用在排序列上放置的索引的有序掃描,或者,如果未創建適當的索引,則掃描數據一次并對其進行排序。

另一個好處是語法的簡單性。為了讓您感受一下通過使用在 SQL Server 的較低版本中采用的基于集的方法來計算排序值是多么困難和低效,請考慮下面的 SQL Server 2000 查詢,它返回與上一個查詢相同的結果:

Code
SELECT (SELECT COUNT(*)   FROM SpeakerStats AS S2 
    WHERE S2.score > S1.score   
    OR (S2.score = S1.score  AND S2.pctfilledevals > S1.pctfilledevals)   
    OR (S2.score = S1.score  AND S2.pctfilledevals = S1.pctfilledevals     AND
 S2.numsessios > S1.numsessions)   
    OR (S2.score = S1.score  AND S2.pctfilledevals = S1.pctfilledevals     AND
S2.numsessions = S1.numsessions   AND S2.speaker < S1.speaker)
) + 1 AS rownum
, speaker, track, score, pctfilledevals, numsessions
FROM SpeakerStats AS S1
ORDER BY score DESC, pctfilledevals DESC, numsessions DESC, speaker

該查詢顯然比 SQL Server 2005 查詢復雜得多。此外,對于 SpeakerStats 表中的每個基礎行,SQL Server 都必須掃描該表的另一個實例中的所有匹配行。對于基礎表中的每個行,平均大約需要掃描該表的一半(最少)行。SQL Server 2005 查詢的性能惡化是線性的,而 SQL Server 2000 查詢的性能惡化是指數性的。即使是在相當小的表中,性能差異也是顯著的。

行號的一個典型應用是通過查詢結果分頁。給定頁大小(以行數為單位)和頁號,需要返回屬于給定頁的行。例如,假設您希望按照“score DESC, speaker”順序從 SpeakerStats 表中返回第二頁的行,并且假定頁大小為三行。下面的查詢首先按照指定的排序計算派生表 D 中的行數,然后只篩選行號為 4 到 6 的行(它們屬于第二頁):

Code
SELECT *
FROM (SELECT ROW_NUMBER() OVER(ORDER BY score DESC, speaker) AS rownum,
  speaker, track, score
FROM SpeakerStats) AS D
WHERE rownum BETWEEN 4 AND 6

以下為結果集:

rownum speaker    trackscore
------ ---------- ---------- -----------
4KathySys  8
5Michele    Sys  8
6Mike  DB  8

用更一般的術語表達就是,給定 @pagenum 變量中的頁號和 @pagesize 變量中的頁大小,以下查詢返回屬于預期頁的行:

Code
DECLARE @pagenum AS INT, @pagesize AS INT
SET @pagenum = 2
SET @pagesize = 3
SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY score DESC, speaker) AS rownum
    ,speaker
    , track
    , score
    FROM SpeakerStats)AS D
 WHERE rownum BETWEEN (@pagenum-1)*@pagesize+1 AND @pagenum*@pagesize

上述方法對于您只對行的一個特定頁感興趣的特定請求而言已經足夠了。但是,當用戶發出多個請求時,該方法就不能滿足需要了,因為該查詢的每個調用都需要您對表進行完整掃描,以便計算行號。當用戶可能反復請求不同的頁時,為了更有效地進行分頁,請首先用所有基礎表行(包括計算得到的行號)填充一個臨時表,并且對包含這些行號的列進行索引:


Code
SELECT ROW_NUMBER() OVER(ORDER BY score DESC, speaker) AS rownum, *
INTO #SpeakerStatsRN
FROM SpeakerStats
CREATE UNIQUE CLUSTERED INDEX idx_uc_rownum ON #SpeakerStatsRN(rownum)

然后,對于所請求的每個頁,發出以下查詢:

DECLARE @pagenum AS INT, @pagesize AS INT
SET @pagenum = 2
SET @pagesize = 3
SELECT rownum, speaker, track, score
FROM #SpeakerStatsRN
WHERE rownum BETWEEN (@pagenum-1)*@pagesize+1 AND @pagenum*@pagesize
ORDER BY score DESC, speaker

只有屬于預期頁的行才會被掃描。

分段

可以在行組內部獨立地計算排序值,而不是為作為一個組的所有表行計算排序值。為此,請使用 PARTITION BY 子句,并且指定一個表達式列表,以標識應該為其獨立計算排序值的行組。例如,以下查詢按照“score DESC, speaker”順序單獨分配每個 track 內部的行號:

Code
SELECT track,
ROW_NUMBER() OVER(
    PARTITION BY track
    ORDER BY score DESC, speaker) AS pos,speaker, score
FROM SpeakerStats

以下為結果集:

trackpos speaker    score
---------- --- ---------- -----------
DB   1   Suzanne    9
DB   2   Mike 8
DB   3   Kevin7
Dev  1   Jessica    9
Dev  2   Ron  9
Dev  3   Joe  6
Dev  4   Robert     6
Sys  1   Kathy8
Sys  2   Michele    8
Sys  3   Brian7
Sys  4   Dan  3

在 PARTITION BY 子句中指定 track 列會使得為具有相同 track 的每個行組單獨計算行號。

#p#

2、RANK, DENSE_RANK

RANK 和 DENSE_RANK 函數非常類似于 ROW_NUMBER 函數,因為它們也按照指定的排序提供排序值,而且可以根據需要在行組(分段)內部提供。但是,與 ROW_NUMBER 不同的是,RANK 和 DENSE_RANK 向在排序列中具有相同值的行分配相同的排序。當 ORDER BY 列表不唯一,并且您不希望為在 ORDER BY 列表中具有相同值的行分配不同的排序時,RANK 和 DENSE_RANK 很有用。RANK 和 DENSE_RANK 的用途以及兩者之間的差異可以用示例進行最好的解釋。以下查詢按照 score DESC 順序計算不同演講者的行號、排序和緊密排序值:


Code
SELECT speaker, track, score,
ROW_NUMBER() OVER(ORDER BY score DESC) AS rownum,
RANK() OVER(ORDER BY score DESC) AS rnk,
DENSE_RANK() OVER(ORDER BY score DESC) AS drnk
FROM SpeakerStats

speaker    trackscore    rownum rnk drnk
---------- ---------- ----------- ------ --- ----
Jessica    Dev     9     1     1   1
Ron  Dev     9     21   1
Suzanne    DB    9     31   1
KathySys    8     44   2
Michele    Sys   854   2
Mike DB     864   2
KevinDB     777   3
BrianSys    787   3
Joe  Dev    699   4
Robert     Dev   6     10     9   4
Dan  Sys   311    11  5

正如前面討論的那樣,score 列不唯一,因此不同的演講者可能具有相同的得分。行號確實代表下降的 score 順序,但是具有相同得分的演講者仍然獲得不同的行號。但是請注意,在結果中,所有具有相同得分的演講者都獲得相同的排序和緊密排序值。換句話說,當 ORDER BY 列表不唯一時,ROW_NUMBER 是不確定的,而 RANK 和 DENSE_RANK 總是確定的。排序值和緊密排序值之間的差異在于,排序代表:具有較高得分的行號加 1,而緊密排序代表:具有明顯較高得分的行號加 1。從您迄今為止已經了解的內容中,您可以推導出當 ORDER BY 列表唯一時,ROW_NUMBER、RANK 和 DENSE_RANK 產生完全相同的值。

3、NTILE

NTILE 使您可以按照指定的順序,將查詢的結果行分散到指定數量的組 (tile) 中。每個行組都獲得不同的號碼:第一組為 1,第二組為 2,等等。您可以在函數名稱后面的括號中指定所請求的組號,在 OVER 選項的 ORDER BY 子句中指定所請求的排序。組中的行數被計算為 total_num_rows / num_groups。如果有余數 n,則前面 n 個組獲得一個附加行。因此,可能不會所有組都獲得相等數量的行,但是組大小最大只可能相差一行。例如,以下查詢按照 score 降序將三個組號分配給不同的 speaker 行:

Code
SELECT speaker, track, score,
ROW_NUMBER() OVER(ORDER BY score DESC) AS rownum,
NTILE(3) OVER(ORDER BY score DESC) AS tile
FROM SpeakerStats

以下為結果集:

speaker    trackscore rownum tile
---------- ---------- ----------- ------ ----
Jessica    Dev    9     11
Ron  Dev    9     21
Suzanne    DB   9     31
KathySys   8     41
Michele    Sys   8     52
Mike DB     8     62
KevinDB     7     72
BrianSys    7     82
Joe  Dev    6     93
Robert     Dev   6     10     3
Dan  Sys    3     11     3

在 SpeakerStats 表中有 11 位演講者。將 11 除以 3 得到組大小 3 和余數 2,這意味著前面 2 個組將獲得一個附加行(每個組中有 4 行),而第三個組則不會得到附加行(該組中有 3 行)。組號(tile 號)1 被分配給行 1 到 4,組號 2 被分配給行 5 到 8,組號 3 被分配給行 9 到 11。通過該信息可以生成直方圖,并且將項目均勻分布到每個梯級。在我們的示例中,第一個梯級表示具有最高得分的演講者,第二個梯級表示具有中等得分的演講者,第三個梯級表示具有最低得分的演講者。可以使用 CASE 表達式為組號提供說明性的有意義的備選含義:

Code
SELECT speaker, track, score,
CASE NTILE(3) OVER(ORDER BY score DESC)
    WHEN 1 THEN 'High'
    WHEN 2 THEN 'Medium'
    WHEN 3 THEN 'Low'
END AS scorecategory
FROM SpeakerStats

以下為結果集:

speaker    trackscore scorecategory
---------- ---------- ----------- -------------
KevinDB   7     Medium
Mike DB   8     Medium
Suzanne    DB 9     High
Jessica    Dev 9     High
Joe  Dev  6     Low
Robert     Dev 6     Low
Ron  Dev 9     High
BrianSys 7     Medium
Dan  Sys3     Low
KathySys8     High
Michele    Sys8     Medium

【編輯推薦】

  1. SQL Server數據庫內容替換方法
  2. 有效使用SQL Server的自動管理功能
  3. 在SQL Server中創建全局臨時表技巧

責任編輯:彭凡 來源: 博客園
相關推薦

2010-11-09 15:50:47

SQL Server安

2009-02-23 13:41:42

XML操作函數SQL Server

2014-12-25 09:41:15

Android加載方式

2025-08-13 06:00:00

Flink SQLFlink大數據

2009-07-08 18:20:21

JDBC驅動

2009-04-27 10:33:16

ASP.NET視圖狀態

2024-03-20 15:33:12

2023-11-06 07:50:00

RabbitMQ交換機

2010-07-19 11:17:28

SQL Server

2025-05-26 03:21:00

Dify變量組件

2009-11-27 08:58:58

Suse9故障修復

2009-03-31 13:12:30

解析XMLJava

2010-09-06 17:46:48

SQL函數

2023-10-21 21:13:00

索引SQL工具

2010-09-28 15:40:51

SQL刪除重復記錄

2010-07-12 11:06:37

SQL Server2

2012-06-14 09:37:52

2024-05-21 14:04:16

2009-10-23 12:44:35

SQL SERVER

2021-10-24 08:37:18

網絡監控網絡架構網絡
點贊
收藏

51CTO技術棧公眾號

国产爆初菊在线观看免费视频网站 | 玛丽玛丽电影原版免费观看1977| 国产午夜福利片| 九九久久电影| 91精品久久久久久蜜臀| 亚洲色成人www永久在线观看| 四虎在线观看| 激情综合一区二区三区| 久久久久成人精品| 国产精品情侣呻吟对白视频| 欧美专区一区| 在线观看欧美精品| 伊人再见免费在线观看高清版| 网站黄在线观看| 久草精品在线观看| 4438全国成人免费| 国产黄色的视频| 精品国产一区二区三区噜噜噜 | 精品视频免费在线观看| 日韩一区二区三区电影| 久久久久狠狠高潮亚洲精品| 中中文字幕av在线| 国产精品色婷婷| 久久久亚洲综合网站| 精品久久久久中文慕人妻| 日韩精品电影在线观看| 亚州国产精品久久久| av资源在线免费观看| 亚洲aaa级| 日韩欧美国产精品一区| 热久久久久久久久| 超碰这里只有精品| 日韩欧美亚洲成人| 日本人体一区二区| 一色桃子av在线| 中文字幕一区二区三区不卡| 欧美国产一区二区在线| 成人午夜免费在线观看| 国产精品亚洲第一| 成人欧美在线视频| 中文字幕视频在线播放| 久久激情久久| 欧美在线视频a| 国产精品乱子伦| 国产乱码精品| 欧美自拍视频在线观看| 日韩免费av片| 亚洲经典在线| 91高清在线免费观看| 日本五十熟hd丰满| 亚洲一级二级| 国模吧一区二区三区| 精品在线免费观看视频| 欧美特黄一级| 欧美精品久久久久a| 国产精品111| 99av国产精品欲麻豆| 久久久之久亚州精品露出| 免费麻豆国产一区二区三区四区| 在线成人超碰| 欧美高清无遮挡| 国产精品suv一区二区69| 伊人久久大香线蕉av超碰演员| 色综合久久久888| 久久久久久久国产精品毛片| 极品裸体白嫩激情啪啪国产精品| 欧美精品videosex性欧美| 久久av高潮av无码av喷吹| 黄色日韩精品| 秋霞av国产精品一区| 无码人妻精品一区二区蜜桃色欲 | 777精品视频| 一二三区免费视频| 久久成人免费日本黄色| 91免费视频网站| 成人午夜免费在线观看| www国产成人免费观看视频 深夜成人网| 久久99精品国产99久久| 国产在线色视频| 中文字幕亚洲不卡| 日本人妻伦在线中文字幕| 精精国产xxxx视频在线播放| 一本在线高清不卡dvd| 久久99999| 福利一区三区| 亚洲高清久久网| 久操视频在线观看免费| 欧美精品日韩| 欧美在线亚洲在线| 一级片aaaa| 不卡的看片网站| 亚洲成色www久久网站| gogo在线观看| 91福利视频网站| 又大又长粗又爽又黄少妇视频| 亚洲宅男一区| 久久在线免费观看视频| 国产 欧美 日韩 在线| 免费在线观看成人| 国产一区二区无遮挡| jzzjzzjzz亚洲成熟少妇| 一区二区三区在线观看国产| 91看片就是不一样| 亚洲图色一区二区三区| 夜夜嗨av色综合久久久综合网| 极品颜值美女露脸啪啪| 日韩av电影一区| 国产精品一区二区不卡视频| 午夜视频在线| 欧美日韩亚洲视频一区| 成人三级做爰av| 清纯唯美日韩| 国产91成人在在线播放| av网站在线免费看| 国产精品视频观看| 国内外成人激情视频| 一本色道69色精品综合久久| 中文字幕亚洲欧美一区二区三区| 日本三级片在线观看| 久久99精品国产91久久来源| 免费不卡亚洲欧美| 爱啪视频在线观看视频免费| 日韩一区二区电影网| 国产一区二区三区四区在线| 99精品国产99久久久久久福利| 国产美女久久精品香蕉69| 可以免费看污视频的网站在线| 一级特黄大欧美久久久| 九九热免费在线观看| 国产一区二区电影在线观看| 欧美亚洲第一区| 凸凹人妻人人澡人人添| 亚洲va欧美va天堂v国产综合| 午夜不卡福利视频| 天天综合国产| 91精品免费看| 伊人免费在线| 欧美日韩中文字幕一区二区| 久操视频在线观看免费| 狂野欧美一区| 日本a级片久久久| 国产精品迅雷| 亚洲欧美日韩图片| 波多野结衣视频网站| 99免费精品在线| 免费一级特黄特色毛片久久看| av日韩精品| 午夜精品久久久久久久久久久久| www.污视频| 亚洲成年人影院| 艳妇乳肉豪妇荡乳xxx| 亚洲福利电影| 九九九久久久| 国产日韩电影| 国产一区二区三区视频在线观看| 中文字幕高清在线免费播放| 久久久久久99久久久精品网站| 37pao成人国产永久免费视频| 亚洲人成网亚洲欧洲无码| 国产99在线|中文| 国产youjizz在线| 欧美日韩一区三区| 国产探花在线免费观看| 国产经典欧美精品| 黄色一级片在线看| 亚洲人亚洲人色久| 国产精品青草久久久久福利99| 爱久久·www| 欧美久久一区二区| 久久久久久福利| caoporen国产精品视频| 国产a级片免费观看| 日韩av在线播放网址| 99高清视频有精品视频| 55av亚洲| 中文字幕精品www乱入免费视频| 中文字幕在线观看第二页| 亚洲色图视频免费播放| 99久久人妻精品免费二区| 日日摸夜夜添夜夜添国产精品 | 日韩午夜精品| 色一情一乱一伦一区二区三欧美 | 99热99这里只有精品| 国产精品亚洲人在线观看| jizzjizz国产精品喷水| 欧美日韩中字| 国产成人精品福利一区二区三区 | 欧美日韩视频在线第一区| 国产大学生自拍| 久久综合狠狠综合久久综合88| 亚洲天堂伊人网| 亚洲黄色成人| 国产高清精品软男同| 欧美色资源站| 成人欧美在线观看| 在线手机中文字幕| 欧美大尺度激情区在线播放| 暖暖视频在线免费观看| 日韩无一区二区| 亚洲av无码精品一区二区| 一区二区三区久久| 神马久久久久久久久久久| 国产电影一区二区三区| 久久99999| 国产精品久久久久久久免费软件 | 波多野结衣中文在线| 原创国产精品91| 日本韩国在线观看| 欧美精品高清视频| 国产亚洲欧美日韩高清| 亚洲高清三级视频| 99久久精品久久亚洲精品| 91在线观看下载| 精品人妻一区二区三| 日本在线不卡视频| 日本成年人网址| 在线成人黄色| 国产精品免费看久久久无码| 成人在线免费小视频| 久久一区二区三区欧美亚洲| 日韩高清一区| 成人久久一区二区| 国产精品久久久久久久久免费高清 | 国产成年人在线观看| 人人狠狠综合久久亚洲婷| 久久riav二区三区| 91午夜精品| 99久久久久国产精品免费| av成人在线网站| 国产免费亚洲高清| jizz免费一区二区三区| 日韩av电影手机在线| 在线最新版中文在线| 98精品国产高清在线xxxx天堂| 日本片在线看| 久久69精品久久久久久国产越南| 成人免费网址| 久久在线免费观看视频| 成人区精品一区二区不卡| 久热99视频在线观看| 国产最新在线| 精品中文字幕乱| 美洲精品一卡2卡三卡4卡四卡| 欧美高清自拍一区| 欧美14一18处毛片| 午夜精品一区二区三区在线视 | 一本色道亚洲精品aⅴ| 男人日女人网站| 欧美日韩加勒比精品一区| 制服.丝袜.亚洲.中文.综合懂色| 激情av一区二区| 黄色大片网站在线观看| 欧美性生交大片免费| 黄色在线观看国产| 欧美唯美清纯偷拍| 一级片一区二区三区| 欧美一区国产二区| 成人av手机在线| 亚洲第一区中文99精品| 无码精品在线观看| 亚洲男人的天堂网站| 超碰免费在线观看| 久久久www成人免费精品| 性欧美videoshd高清| 久久久久久有精品国产| 亚洲精品国产精品国产| 日韩女优在线播放| 热久久久久久| 高清国产在线一区| 亚洲盗摄视频| 色女人综合av| 欧美网站在线| 免费av网址在线| 久久99精品久久久| 日本一区二区在线免费观看| 久久亚洲精精品中文字幕早川悠里| 精品一区二区三区蜜桃在线| 亚洲色欲色欲www在线观看| 久久无码精品丰满人妻| 一本久久综合亚洲鲁鲁五月天| 一级黄色小视频| 精品卡一卡二卡三卡四在线| 日本福利片高清在线观看| 中文字幕精品在线| av在线加勒比| 国产精品视频自拍| 成人h动漫精品一区二区器材| 欧美日韩精品免费在线观看视频| 99tv成人| 欧美日本视频在线观看| 黄网站免费久久| 影音先锋人妻啪啪av资源网站| 欧美国产日本韩| 国产福利久久久| 欧美日韩精品电影| 亚洲av成人无码网天堂| 日韩视频―中文字幕| 一本大道色婷婷在线| 51国偷自产一区二区三区的来源| 天堂av一区二区三区在线播放| 成人手机在线播放| 日韩国产欧美视频| 伊人网综合视频| 亚洲欧美一区二区在线观看| 91在线视频在线观看| 日韩免费性生活视频播放| 国产一级二级三级在线观看| 欧美激情伊人电影 | 日韩一级高清毛片| 国产区高清在线| 91精品国产91久久久久久吃药| 国产日韩中文在线中文字幕| 日韩精品久久久| 一区二区三区国产盗摄| 26uuu国产| 国产精品黄色在线观看| 精品无码一区二区三区的天堂| 亚洲国产欧美一区二区丝袜黑人| 亚洲淫性视频| 成人有码在线视频| 日韩精品诱惑一区?区三区| 欧美日韩亚洲一| www.激情成人| 劲爆欧美第一页| 日韩一区二区三区三四区视频在线观看 | 成人国产精品入口免费视频| 裸模一区二区三区免费| 亚洲精品日本| 欧美成人精品一区二区综合免费| 中文字幕一区二区三区乱码在线| www.日韩一区| 一个人看的www久久| 黄瓜视频成人app免费| 久久综合一区| 国产一区二区三区久久| 国产福利短视频| 精品国产鲁一鲁一区二区张丽| 人妻视频一区二区三区| 久久久久久久97| 欧美毛片免费观看| 国产午夜伦鲁鲁| 久久久一区二区三区| 中文字幕在线播| 亚洲色图美腿丝袜| 亚洲精品.com| 日韩免费电影一区二区三区| 久久免费高清| 俄罗斯毛片基地| 91精品久久久久久蜜臀| 亚洲wwwww| 97人人澡人人爽| 激情综合自拍| 永久免费看mv网站入口78| 91国偷自产一区二区三区成为亚洲经典| 蝌蚪视频在线播放| 国产三级精品网站| 在线国产一区二区| 又黄又色的网站| 欧美性猛交丰臀xxxxx网站| 国产69久久| 成人激情黄色网| 狠狠88综合久久久久综合网| 免费黄色三级网站| 高跟丝袜欧美一区| 自拍视频在线| 999国内精品视频在线| 精品动漫av| 亚洲国产天堂av| 欧美精三区欧美精三区| 黄色在线观看视频网站| 精品视频在线观看| 日本欧美一区二区三区乱码| 粉嫩av性色av蜜臀av网站| 亚洲第一精品自拍| 亚洲精品一区三区三区在线观看| 亚洲在线欧美| 成人精品视频网站| 伊人久久中文字幕| 九九热最新视频//这里只有精品| 日韩成人午夜| 在线观看免费av网址| 亚洲成av人综合在线观看| 黄色电影免费在线看| 亚洲jizzjizz日本少妇| 国产欧美成人| www深夜成人a√在线| 亚洲精品久久久久| 欧美日韩伦理一区二区| 国产a级片网站| 国产精品久久久一本精品| 六月婷婷综合网| 国产精品亚洲аv天堂网| 狠狠久久婷婷| 99热在线观看精品| 亚洲国产高清福利视频| 欧美大陆国产| 久久久久久久久久福利| 亚洲伊人伊色伊影伊综合网| 色的视频在线免费看| 久久99精品久久久久久久青青日本|