主頁 > 知識庫 > SQL Server中row_number函數(shù)的常見用法示例詳解

SQL Server中row_number函數(shù)的常見用法示例詳解

熱門標簽:股票配資電銷機器人 實體店地圖標注怎么標 地圖標注如何弄全套標 萬利達綜合醫(yī)院地圖標注點 外呼系統(tǒng)會封嗎 南京電銷外呼系統(tǒng)哪家好 在電子版地圖標注要收費嗎 武漢AI電銷機器人 電銷機器人 深圳

一.SQL Server Row_number函數(shù)簡介

ROW_NUMBER()是一個Window函數(shù),它為結(jié)果集的分區(qū)中的每一行分配一個連續(xù)的整數(shù)。 行號以每個分區(qū)中第一行的行號開頭。

以下是ROW_NUMBER()函數(shù)的語法實例:

select *,row_number() over(partition by column1 order by column2) as n from tablename

在上面語法中:

  • PARTITION BY子句將結(jié)果集劃分為分區(qū)。 ROW_NUMBER()函數(shù)分別應用于每個分區(qū),并重新初始化每個分區(qū)的行號。
  • PARTITION BY子句是可選的。如果未指定,ROW_NUMBER()函數(shù)會將整個結(jié)果集視為單個分區(qū)。
  • ORDER BY子句定義結(jié)果集的每個分區(qū)中的行的邏輯順序。 ORDER BY子句是必需的,因為ROW_NUMBER()函數(shù)對順序敏感。

二.Row_number函數(shù)的具體用法

1.使用row_number()函數(shù)對結(jié)果集進行編號,如:

select ROW_NUMBER() over(order by recordid ) as 編號,* from [dbo].[Basal_Anormal_Solution] 

運行結(jié)果:

 

 2.對結(jié)果集按照指定列進行分組,并在組內(nèi)按照指定列排序(如:把班級的總分按照小組進行分組顯示,分組后在組內(nèi)進行從高分到低分的排序)

select *,row_number() over(partition by createby order by actionOpeid) as n from [dbo].[Basal_Anormal_Solution]

運行結(jié)果:

3.對結(jié)果集按照指定列去重(如:對學生成績按小組進行分組顯示,結(jié)果集中只顯示每組中一位最高分的學生)

select a.* from (select *,row_number() over(partition by createby order by actionOpeid) 
as n from [dbo].[Basal_Anormal_Solution])as a where a.n2

運行結(jié)果:

 

注意:當我們求的是第一名成績的時候,不能用row_number(),因為如果同班有兩個并列第一,row_number()只返回一個結(jié)果。這個時候就要用到另外一個函數(shù),rank()和dense_rank();rank()和dense_rank()區(qū)別:rank()是跳躍排序,有兩個第二名時接下來就是第四名。這個時候我們通常會選擇用rank()函數(shù),靈活應用。

總結(jié)

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

您可能感興趣的文章:
  • MYSQL row_number()與over()函數(shù)用法詳解
  • PostgreSQL ROW_NUMBER() OVER()的用法說明
  • postgreSQL中的row_number() 與distinct用法說明
  • postgresql rank() over, dense_rank(), row_number()用法區(qū)別
  • MySQL中row_number的實現(xiàn)過程
  • sql四大排名函數(shù)之ROW_NUMBER、RANK、DENSE_RANK、NTILE使用介紹
  • sql ROW_NUMBER()與OVER()方法案例詳解

標簽:濟寧 武威 濟源 汕頭 泰安 廣東 安徽 臺州

巨人網(wǎng)絡(luò)通訊聲明:本文標題《SQL Server中row_number函數(shù)的常見用法示例詳解》,本文關(guān)鍵詞  SQL,Server,中,row,number,函數(shù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《SQL Server中row_number函數(shù)的常見用法示例詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于SQL Server中row_number函數(shù)的常見用法示例詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章