婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > SQL Server 排序函數(shù) ROW_NUMBER和RANK 用法總結(jié)

SQL Server 排序函數(shù) ROW_NUMBER和RANK 用法總結(jié)

熱門標(biāo)簽:長(zhǎng)沙智能外呼系統(tǒng) 廣東防封卡外呼系統(tǒng)原理是什么 菏澤語音電銷機(jī)器人加盟公司 分享百度地圖標(biāo)注多個(gè)位置 外呼系統(tǒng)改進(jìn) 知名電銷機(jī)器人價(jià)格 湖南電腦外呼系統(tǒng)平臺(tái) 地圖標(biāo)注牌 電銷機(jī)器人公司 需要哪些牌照

1.ROW_NUMBER()基本用法:

SELECT
  SalesOrderID,
  CustomerID,
  ROW_NUMBER() OVER (ORDER BY SalesOrderID) AS RowNumber
 FROM Sales.SalesOrderHeader
結(jié)果集:
SalesOrderID    CustomerID    RowNumber
--------------- ------------- ---------------
43659           676           1
43660           117           2
43661           442           3
43662           227           4
43663           510           5
43664           397           6
43665           146           7
43666           511           8
43667           646           9
 :

2.RANK()基本用法:

SELECT
  SalesOrderID,
  CustomerID,
  RANK() OVER (ORDER BY CustomerID) AS Rank
 FROM Sales.SalesOrderHeader
結(jié)果集:
SalesOrderID    CustomerID    Rank
--------------- ------------- ----------------
43860           1             1
44501           1             1
45283           1             1
46042           1             1
46976           2             5
47997           2             5
49054           2             5
50216           2             5
51728           2             5
57044           2             5
63198           2             5
69488           2             5
44124           3             13
 :

3.利用CTE來過濾ROW_NUMBER()的用法:

WITH NumberedRows AS
(
  SELECT
    SalesOrderID,
    CustomerID,
    ROW_NUMBER() OVER (ORDER BY SalesOrderID) AS RowNumber
   FROM Sales.SalesOrderHeader
)

SELECT * FROM NumberedRows
 WHERE RowNumber BETWEEN 100 AND 200
結(jié)果集:

SalesOrderID    CustomerID    RowNumber
--------------- ------------- --------------
43759           13257         100
43760           16352         101
43761           16493         102
 :
43857           533           199
43858           36            200

4.帶Group by的ROW_NUMBER()用法:

WITH CustomerSum
AS
(
  SELECT CustomerID, SUM(TotalDue) AS TotalAmt
   FROM Sales.SalesOrderHeader
   GROUP BY CustomerID
)
SELECT
  *,
  ROW_NUMBER() OVER (ORDER BY TotalAmt DESC) AS RowNumber
 FROM CustomerSum
結(jié)果集:
CustomerID    TotalAmt        RowNumber
------------- --------------- ---------------
678           1179857.4657    1
697           1179475.8399    2
170           1134747.4413    3
328           1084439.0265    4
514           1074154.3035    5
155           1045197.0498    6
72            1005539.7181    7
 :

5.ROW_NUMBER()或是RANK()聚合用法:

WITH CustomerSum AS
(
  SELECT CustomerID, SUM(TotalDue) AS TotalAmt
   FROM Sales.SalesOrderHeader
   GROUP BY CustomerID
)
SELECT  *,
  RANK() OVER (ORDER BY TotalAmt DESC) AS Rank
--或者是ROW_NUMBER() OVER (ORDER BY TotalAmt DESC) AS Row_Number
 FROM CustomerSum
RANK()的結(jié)果集:
CustomerID  TotalAmt              Rank
----------- --------------------- --------------------
678         1179857.4657          1
697         1179475.8399          2
170         1134747.4413          3
328         1084439.0265          4
514         1074154.3035          5
 :

6.DENSE_RANK()基本用法:

SELECT
  SalesOrderID,
  CustomerID,
  DENSE_RANK() OVER (ORDER BY CustomerID) AS DenseRank
 FROM Sales.SalesOrderHeader
 WHERE CustomerID > 100
結(jié)果集:
SalesOrderID CustomerID  DenseRank
------------ ----------- --------------------
46950        101         1
47979        101         1
49048        101         1
50200        101         1
51700        101         1
57022        101         1
63138        101         1
69400        101         1
43855        102         2
44498        102         2
45280        102         2
46038        102         2
46951        102         2
47978        102         2
49103        102         2
50199        102         2
51733        103         3
57058        103         3
 :

7.RANK()與DENSE_RANK()的比較:

WITH CustomerSum AS
(
  SELECT
    CustomerID,
    ROUND(CONVERT(int, SUM(TotalDue)) / 100, 8) * 100 AS TotalAmt
   FROM Sales.SalesOrderHeader
   GROUP BY CustomerID
)
SELECT *,
  RANK() OVER (ORDER BY TotalAmt DESC) AS Rank,
  DENSE_RANK() OVER (ORDER BY TotalAmt DESC) AS DenseRank
 FROM CustomerSum
結(jié)果集:
CustomerID  TotalAmt    Rank    DenseRank
----------- ----------- ------- --------------------
697         1272500     1       1
678         1179800     2       2
170         1134700     3       3
328         1084400     4       4
 :
87          213300      170     170
667         210600      171     171
196         207700      172     172
451         206100      173     173
672         206100      173     173
27          205200      175     174
687         205200      175     174
163         204000      177     175
102         203900      178     176
 :

8.NTILE()基本用法:

SELECT
  SalesOrderID,
  CustomerID,
  NTILE(10000) OVER (ORDER BY CustomerID) AS NTile
 FROM Sales.SalesOrderHeader
結(jié)果集:
SalesOrderID    CustomerID    NTile
--------------- ------------- ---------------
43860           1             1
44501           1             1
45283           1             1
46042           1             1
46976           2             2
47997           2             2
49054           2             2
50216           2             2
51728           2             3
57044           2             3
63198           2             3
69488           2             3
44124           3             4
 :
45024           29475         9998
45199           29476         9998
60449           29477         9998
60955           29478         9999
49617           29479         9999
62341           29480         9999
45427           29481         10000
49746           29482         10000
49665           29483         10000

9.所有排序方法對(duì)比:

SELECT
  SalesOrderID AS OrderID,
  CustomerID,
  ROW_NUMBER() OVER (ORDER BY CustomerID) AS RowNumber,
  RANK() OVER (ORDER BY CustomerID) AS Rank,
  DENSE_RANK() OVER (ORDER BY CustomerID) AS DenseRank,
  NTILE(10000) OVER (ORDER BY CustomerID) AS NTile
 FROM Sales.SalesOrderHeader
結(jié)果集:
OrderID  CustomerID    RowNumber Rank    DenseRank NTile
-------- ------------- --------- ------- --------- --------
43860    1             1         1       1         1
44501    1             2         1       1         1
45283    1             3         1       1         1
46042    1             4         1       1         1
46976    2             5         5       2         2
47997    2             6         5       2         2
49054    2             7         5       2         2
50216    2             8         5       2         2
51728    2             9         5       2         3
57044    2             10        5       2         3
63198    2             11        5       2         3
69488    2             12        5       2         3
44124    3             13        13      3         4
44791    3             14        13      3         4
 :

10.PARTITION BY基本使用方法:

SELECT
  SalesOrderID,
  SalesPersonID,
  OrderDate,
  ROW_NUMBER() OVER (PARTITION BY SalesPersonID ORDER BY OrderDate) AS OrderRank
 FROM Sales.SalesOrderHeader
 WHERE SalesPersonID IS NOT NULL
結(jié)果集:
SalesOrderID    SalesPersonID    OrderDate    OrderRank
--------------- ---------------- ------------ --------------
 :
43659           279              2001-07-01 00:00:00.000    1
43660           279              2001-07-01 00:00:00.000    2
43681           279              2001-07-01 00:00:00.000    3
43684           279              2001-07-01 00:00:00.000    4
43685           279              2001-07-01 00:00:00.000    5
43694           279              2001-07-01 00:00:00.000    6
43695           279              2001-07-01 00:00:00.000    7
43696           279              2001-07-01 00:00:00.000    8
43845           279              2001-08-01 00:00:00.000    9
43861           279              2001-08-01 00:00:00.000    10
 :
48079           287              2002-11-01 00:00:00.000    1
48064           287              2002-11-01 00:00:00.000    2
48057           287              2002-11-01 00:00:00.000    3
47998           287              2002-11-01 00:00:00.000    4
48001           287              2002-11-01 00:00:00.000    5
48014           287              2002-11-01 00:00:00.000    6
47982           287              2002-11-01 00:00:00.000    7
47992           287              2002-11-01 00:00:00.000    8
48390           287              2002-12-01 00:00:00.000    9
48308           287              2002-12-01 00:00:00.000    10
 :


11.PARTITION BY聚合使用方法:
WITH CTETerritory AS
(
  SELECT
    cr.Name AS CountryName,
    CustomerID,
    SUM(TotalDue) AS TotalAmt
   FROM
    Sales.SalesOrderHeader AS soh
    INNER JOIN Sales.SalesTerritory AS ter ON soh.TerritoryID = ter.TerritoryID
    INNER JOIN Person.CountryRegion AS cr ON cr.CountryRegionCode = ter.
CountryRegionCode
   GROUP BY
    cr.Name, CustomerID
)
SELECT
  *,
  RANK() OVER(PARTITION BY CountryName ORDER BY TotalAmt, CustomerID DESC) AS Rank
 FROM CTETerritory


結(jié)果集:

CountryName    CustomerID    TotalAmt    Rank
-------------- ------------- ----------- --------------
Australia      29083         4.409       1
Australia      29061         4.409       2
Australia      29290         5.514       3
Australia      29287         5.514       4
Australia      28924         5.514       5
 :
Canada         29267         5.514       1
Canada         29230         5.514       2
Canada         28248         5.514       3
Canada         27628         5.514       4
Canada         27414         5.514       5
 :
France         24538         4.409       1
France         24535         4.409       2
France         23623         4.409       3
France         23611         4.409       4
France         20961         4.409       5
 :

12.PARTITION BY求平均數(shù)使用方法:

WITH CTETerritory AS
(
  SELECT
    cr.Name AS CountryName,
    CustomerID,
    SUM(TotalDue) AS TotalAmt
   FROM
    Sales.SalesOrderHeader AS soh
    INNER JOIN Sales.SalesTerritory AS ter ON soh.TerritoryID = ter.TerritoryID
    INNER JOIN Person.CountryRegion AS cr ON cr.CountryRegionCode = ter.
CountryRegionCode
   GROUP BY
    cr.Name, CustomerID
)
SELECT
  *,
  RANK() OVER (PARTITION BY CountryName ORDER BY TotalAmt, CustomerID DESC) AS Rank,
  AVG(TotalAmt) OVER(PARTITION BY CountryName) AS Average
 FROM CTETerritory


結(jié)果集:

CountryName    CustomerID    TotalAmt    Rank    Average
-------------- ------------- ----------- ------- ------------------
Australia      29083         4.409       1       3364.8318
Australia      29061         4.409       2       3364.8318
Australia      29290         5.514       3       3364.8318
 :
Canada         29267         5.514       1       12824.756
Canada         29230         5.514       2       12824.756
Canada         28248         5.514       3       12824.756

您可能感興趣的文章:
  • SQLServer中Partition By及row_number 函數(shù)使用詳解
  • SQLSERVER分頁查詢關(guān)于使用Top方式和row_number()解析函數(shù)的不同
  • ROW_NUMBER SQL Server 2005的LIMIT功能實(shí)現(xiàn)(ROW_NUMBER()排序函數(shù))
  • SQL Server中row_number函數(shù)的常見用法示例詳解

標(biāo)簽:天水 商洛 西寧 珠海 呼和浩特 泉州 福建 美容院

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQL Server 排序函數(shù) ROW_NUMBER和RANK 用法總結(jié)》,本文關(guān)鍵詞  SQL,Server,排序,函數(shù),ROW,NUMBER,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《SQL Server 排序函數(shù) ROW_NUMBER和RANK 用法總結(jié)》相關(guān)的同類信息!
  • 本頁收集關(guān)于SQL Server 排序函數(shù) ROW_NUMBER和RANK 用法總結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    尤物在线观看一区| 91日韩精品一区| 日韩区在线观看| 成人国产精品免费观看动漫| 日本免费在线视频不卡一不卡二 | 亚洲欧洲日产国码二区| 精品国产一区二区三区忘忧草| av亚洲精华国产精华精| caoporm超碰国产精品| 9191成人精品久久| 91视频免费观看| 国内精品伊人久久久久av一坑 | 成人av午夜电影| 国产精品综合二区| 久久91精品久久久久久秒播| 久久国产精品99精品国产| 亚洲成av人在线观看| 艳妇臀荡乳欲伦亚洲一区| 亚洲日穴在线视频| 国产精品美日韩| 国产精品系列在线| 亚洲欧洲日产国码二区| 国产精品人妖ts系列视频| 国产日韩精品一区二区三区| 国产精品视频一二三区| 亚洲人成影院在线观看| 国产精品另类一区| 国产精品嫩草影院av蜜臀| 久久婷婷综合激情| 久久久久国产精品人| 欧美一区二区视频观看视频| 欧美精品乱码久久久久久按摩| av日韩在线网站| 狠狠色2019综合网| 麻豆国产91在线播放| 日韩成人av影视| 麻豆91精品91久久久的内涵| 日本成人在线电影网| 久久国产精品露脸对白| 老司机精品视频线观看86| 韩国成人精品a∨在线观看| 老鸭窝一区二区久久精品| 天天综合天天综合色| 日韩av电影天堂| 久久精品国产99久久6| 91久久线看在观草草青青| 在线国产电影不卡| 欧美日韩精品一区二区三区蜜桃| 91精品国产日韩91久久久久久| 精品国产免费人成电影在线观看四季 | 在线播放中文字幕一区| 欧美一级高清大全免费观看| 久久综合资源网| 亚洲婷婷在线视频| 亚洲尤物在线视频观看| 免费在线视频一区| 成人动漫一区二区| 欧美日韩综合在线| 精品电影一区二区| 樱花草国产18久久久久| 日本三级亚洲精品| 成人激情校园春色| 欧美精选午夜久久久乱码6080| 日韩欧美国产一区二区在线播放| 国产精品欧美一区喷水| 一区二区三区在线免费观看| 国精品**一区二区三区在线蜜桃| 日本久久电影网| 久久久www成人免费毛片麻豆 | 高清不卡在线观看av| 在线视频观看一区| 91精品国产高清一区二区三区蜜臀| 久久精品一区八戒影视| 亚洲天天做日日做天天谢日日欢| 亚洲国产aⅴ成人精品无吗| 久久www免费人成看片高清| 在线视频一区二区三区| 中文字幕+乱码+中文字幕一区| 亚洲一区二区三区四区在线 | 一区二区三区丝袜| 日本中文一区二区三区| www.久久久久久久久| 日韩欧美卡一卡二| 丝袜美腿亚洲色图| 99久久免费精品高清特色大片| 欧美videos大乳护士334| 夜夜嗨av一区二区三区| 不卡电影免费在线播放一区| 精品久久久久一区二区国产| 天天av天天翘天天综合网色鬼国产| 不卡的av电影| 国产精品日韩精品欧美在线| 国产精品影视网| 精品久久久久久久久久久久包黑料| 亚洲v日本v欧美v久久精品| jlzzjlzz亚洲日本少妇| 日日骚欧美日韩| 欧美精品在欧美一区二区少妇| 一区二区三区精品在线观看| 99久久综合色| 综合色天天鬼久久鬼色| thepron国产精品| 亚洲精品免费视频| 欧美亚洲综合色| 亚洲成人精品在线观看| 欧美又粗又大又爽| 五月婷婷久久丁香| 日韩视频一区二区三区在线播放 | 亚洲欧美福利一区二区| 色综合婷婷久久| 亚洲日本乱码在线观看| 在线亚洲高清视频| 日韩影院精彩在线| 日韩免费看网站| 国产精品一线二线三线精华| 国产日韩欧美激情| 26uuu另类欧美亚洲曰本| 国产一区二区免费视频| 久久精品人人做人人爽人人| 成人黄色一级视频| 一区二区三区在线视频观看| 欧美三级欧美一级| 免费在线观看一区| 久久久.com| 99国产精品久久久久久久久久久| 亚洲综合一区在线| 91麻豆精品91久久久久同性| 久久成人免费网站| 中文字幕在线不卡视频| 欧美三级韩国三级日本一级| 麻豆国产精品视频| 国产精品乱人伦| 欧美亚洲尤物久久| 国产精品亚洲综合一区在线观看| 国产精品嫩草影院com| 日本在线不卡一区| 99国产精品久| 免费在线观看一区| 欧美老人xxxx18| 91精品国产入口| eeuss鲁片一区二区三区在线观看| 亚洲欧美日韩中文字幕一区二区三区| 欧美日韩中文另类| 高清在线不卡av| 亚洲国产va精品久久久不卡综合| 精品国产第一区二区三区观看体验| 99视频精品全部免费在线| 欧美色视频在线观看| 国产综合一区二区| 亚洲手机成人高清视频| 欧美zozozo| 欧美三电影在线| 国产自产2019最新不卡| 亚洲欧美激情小说另类| 欧美变态tickling挠脚心| 99精品黄色片免费大全| 蜜臀国产一区二区三区在线播放 | 秋霞影院一区二区| 国产午夜精品久久| 欧美一级艳片视频免费观看| 91免费观看在线| 国产成人激情av| 久久精品国产一区二区三区免费看| 亚洲色图欧美在线| 欧美极品美女视频| 精品黑人一区二区三区久久| 欧美日韩三级在线| 色综合天天综合| 成人av网址在线观看| 国产精品一色哟哟哟| 免费在线观看不卡| 亚洲一区二区三区四区在线免费观看| 国产精品视频一区二区三区不卡| 欧美电影免费观看高清完整版在线 | 午夜精品影院在线观看| 亚洲免费色视频| 亚洲天堂网中文字| 1024成人网| 国产精品黄色在线观看| 国产精品入口麻豆原神| 国产清纯白嫩初高生在线观看91 | 九九国产精品视频| 日本不卡一二三| 美女视频黄久久| 色天天综合久久久久综合片| 成人动漫在线一区| 在线视频你懂得一区二区三区| 色婷婷av一区二区三区大白胸 | av一本久道久久综合久久鬼色| 成人免费精品视频| 97超碰欧美中文字幕| 91美女在线看| 日本高清成人免费播放| 欧美系列亚洲系列| 欧美日韩一区二区欧美激情| 欧美精品乱码久久久久久按摩| 欧美一区二区啪啪| 久久久久九九视频| 国产精品国产自产拍在线| 中文字幕一区二区在线观看|