亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Row_number()函數(shù)用法小結(jié)

 更新時(shí)間:2023年05月10日 10:50:10   作者:Zhuxxxxx  
Row_number()函數(shù)是SQL SERVER系統(tǒng)函數(shù)中的一種,本文主要介紹了Row_number()函數(shù)用法小結(jié),文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

Row_number()函數(shù)是SQL SERVER系統(tǒng)函數(shù)中的一種,它為結(jié)果集的分區(qū)中的每一行分配一個(gè)連續(xù)的整數(shù)。簡單的說就是生成一個(gè)獨(dú)表,序號(hào)以每個(gè)分區(qū)的第一行開頭,下面是其基本語法:

  • PARTITION BY子句將結(jié)果集劃分為分區(qū)。 ROW_NUMBER()函數(shù)分別應(yīng)用于每個(gè)分區(qū),并重新初始化每個(gè)分區(qū)的行號(hào)。PARTITION BY子句是可選的。如果未指定,ROW_NUMBER()函數(shù)會(huì)將整個(gè)結(jié)果集視為單個(gè)分區(qū)。
  • ORDER BY子句定義結(jié)果集的每個(gè)分區(qū)中的行的邏輯順序。 ORDER BY子句是必需的,因?yàn)镽OW_NUMBER()函數(shù)對(duì)順序敏感。
  • OVER()是一個(gè)開窗函數(shù),對(duì)集合進(jìn)行聚合計(jì)算

舉個(gè)例子,用row_number()函數(shù)對(duì)以下數(shù)據(jù)表單進(jìn)行課程,分?jǐn)?shù)高低及學(xué)號(hào)排序

sno為學(xué)號(hào),cno為所學(xué)課程,score為成績

得到以下語法和查詢結(jié)果:

可以看到ID的值以cno為分區(qū)進(jìn)行排序,當(dāng)cno變化時(shí)ID也會(huì)自動(dòng)重新開始計(jì)數(shù),然后再將成績以降序排列,這樣每科成績高低及其對(duì)應(yīng)的學(xué)號(hào)就一目了然。

如果沒有partition by則row_number()將整個(gè)結(jié)果集視為一個(gè)分區(qū):

ID的值將一直排到最后。

當(dāng)row_number()與where一起使用時(shí),可以將row_number()封裝成一個(gè)子查詢,如下只看每科前兩名的數(shù)據(jù):

將整個(gè)函數(shù)方法封裝命名為a,再從a里面提取需要的條件。

在這里我還要補(bǔ)充一下row_number()函數(shù)以外的一個(gè)rank()和dense_rank()函數(shù),有時(shí)候如果第一名有兩個(gè)以上的同學(xué)時(shí),row_number()函數(shù)只會(huì)顯示一個(gè),而用rank()和dense_rank()則可以全部顯示出來(這兩個(gè)的區(qū)別是前者會(huì)跳躍排序,后者不會(huì)),如圖:

到此這篇關(guān)于Row_number()函數(shù)用法小結(jié)的文章就介紹到這了,更多相關(guān)Row_number()用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 自動(dòng)定時(shí)備份sqlserver數(shù)據(jù)庫的方法

    自動(dòng)定時(shí)備份sqlserver數(shù)據(jù)庫的方法

    下面是我已經(jīng)證實(shí)可用的自動(dòng)備份的方法.需要的朋友可以參考下。
    2011-11-11
  • 收縮后對(duì)數(shù)據(jù)庫的使用有影響嗎?

    收縮后對(duì)數(shù)據(jù)庫的使用有影響嗎?

    收縮后對(duì)數(shù)據(jù)庫的使用有影響嗎?...
    2007-07-07
  • 設(shè)置SQL Server端口的詳細(xì)步驟

    設(shè)置SQL Server端口的詳細(xì)步驟

    在SQL Server中,配置端口是確保數(shù)據(jù)庫服務(wù)能夠正確通信的重要步驟,無論是為了提高安全性還是滿足特定的網(wǎng)絡(luò)配置需求,正確設(shè)置SQL Server的端口都是必要的,本文將詳細(xì)介紹如何設(shè)置SQL Server的端口,需要的朋友可以參考下
    2024-08-08
  • SQL?Server中實(shí)現(xiàn)錯(cuò)誤處理

    SQL?Server中實(shí)現(xiàn)錯(cuò)誤處理

    這篇文章介紹了SQL?Server中實(shí)現(xiàn)錯(cuò)誤處理的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • sqlServer 獲取漢字字串的拼音聲母

    sqlServer 獲取漢字字串的拼音聲母

    sqlServer 中 獲取漢字字串的拼音聲母,需要的朋友可以參考下。
    2009-11-11
  • 使用SQL Server數(shù)據(jù)庫嵌套子查詢的方法

    使用SQL Server數(shù)據(jù)庫嵌套子查詢的方法

    使用SQL Server數(shù)據(jù)庫嵌套子查詢的方法...
    2007-03-03
  • SQL2008 詳解直接將XML存入到SQL中

    SQL2008 詳解直接將XML存入到SQL中

    這篇文章主要介紹了SQL2008 詳解直接將XML存入到SQL中的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • SQLServer中的觸發(fā)器基本語法與作用

    SQLServer中的觸發(fā)器基本語法與作用

    觸發(fā)器是一種特殊類型的存儲(chǔ)過程,它不同于之前的我們介紹的存儲(chǔ)過程.觸發(fā)器主要是通過事件進(jìn)行觸發(fā)被自動(dòng)調(diào)用執(zhí)行的。而存儲(chǔ)過程可以通過存儲(chǔ)過程的名稱被調(diào)用。本文給大家介紹SQLServer中的觸發(fā)器基本語法與作用,感興趣的朋友一起學(xué)習(xí)吧
    2016-04-04
  • sql IDENTITY_INSERT對(duì)標(biāo)識(shí)列的作用和使用

    sql IDENTITY_INSERT對(duì)標(biāo)識(shí)列的作用和使用

    本文主要介紹了sql IDENTITY_INSERT對(duì)標(biāo)識(shí)列的作用和使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • SQL觸發(fā)器實(shí)例講解

    SQL觸發(fā)器實(shí)例講解

    為觸發(fā)器?在SQL Server里面也就是對(duì)某一個(gè)表的一定的操作,觸發(fā)某種條件,從而執(zhí)行的一段程序。觸發(fā)器是一個(gè)特殊的存儲(chǔ)過程
    2012-04-04

最新評(píng)論