欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2020年09月28日 09:12:06   作者:時(shí)光巷尾  
這篇文章主要給大家介紹了關(guān)于SQL Server中row_number函數(shù)的常見(jiàn)用法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

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

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

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

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

在上面語(yǔ)法中:

  • 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ì)順序敏感。

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

1.使用row_number()函數(shù)對(duì)結(jié)果集進(jìn)行編號(hào),如:

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

運(yùn)行結(jié)果:

 

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

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

運(yùn)行結(jié)果:

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

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

運(yùn)行結(jié)果:

 

注意:當(dāng)我們求的是第一名成績(jī)的時(shí)候,不能用row_number(),因?yàn)槿绻嘤袃蓚€(gè)并列第一,row_number()只返回一個(gè)結(jié)果。這個(gè)時(shí)候就要用到另外一個(gè)函數(shù),rank()和dense_rank();rank()和dense_rank()區(qū)別:rank()是跳躍排序,有兩個(gè)第二名時(shí)接下來(lái)就是第四名。這個(gè)時(shí)候我們通常會(huì)選擇用rank()函數(shù),靈活應(yīng)用。

總結(jié)

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

相關(guān)文章

  • sql server 性能優(yōu)化之nolock

    sql server 性能優(yōu)化之nolock

    在SQL Server數(shù)據(jù)庫(kù)查詢(xún)時(shí),為了提高查詢(xún)的性能,我們往往會(huì)在表后面加一個(gè)nolock,或者是with(nolock),讓數(shù)據(jù)庫(kù)在查詢(xún)時(shí)不鎖定表,從而提高查詢(xún)的速度,接下來(lái),通過(guò)本篇文章給大家詳解sql server 性能優(yōu)化之nolock,需要的朋友快來(lái)學(xué)習(xí)吧。
    2015-08-08
  • SQL Server中索引的用法詳解

    SQL Server中索引的用法詳解

    本文詳細(xì)講解了SQL Server中索引的用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • Sql Server 字符串聚合函數(shù)

    Sql Server 字符串聚合函數(shù)

    Sql Server 有如下幾種聚合函數(shù)SUM、AVG、COUNT、COUNT(*)、MAX 和 MIN,但是這些函數(shù)都只能聚合數(shù)值類(lèi)型,無(wú)法聚合字符串。
    2009-06-06
  • 數(shù)據(jù)庫(kù)訪問(wèn)性能優(yōu)化

    數(shù)據(jù)庫(kù)訪問(wèn)性能優(yōu)化

    這篇文章主要介紹了數(shù)據(jù)庫(kù)訪問(wèn)性能優(yōu)化,小編總結(jié)了一些面向程序員的基本優(yōu)化法則,本文將結(jié)合實(shí)例來(lái)坦述數(shù)據(jù)庫(kù)開(kāi)發(fā)的優(yōu)化知識(shí),需要的朋友可以參考下
    2015-08-08
  • SQL SERVER 2012新增函數(shù)之字符串函數(shù)FORMAT詳解

    SQL SERVER 2012新增函數(shù)之字符串函數(shù)FORMAT詳解

    這篇文章主要給大家介紹了關(guān)于SQL SERVER 2012新增函數(shù)之字符串函數(shù)FORMAT的相關(guān)資料,文中通過(guò)實(shí)例介紹的非常詳細(xì),對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-03-03
  • Spark SQL的整體實(shí)現(xiàn)邏輯解析

    Spark SQL的整體實(shí)現(xiàn)邏輯解析

    使用sparkSQL是為了解決一般用sql不能解決的復(fù)雜邏輯,使用編程語(yǔ)言的優(yōu)勢(shì)來(lái)解決問(wèn)題,今天通過(guò)本文給大家分享Spark SQL的整體實(shí)現(xiàn)邏輯,需要的朋友參考下吧
    2021-07-07
  • 關(guān)于SQL的幾道小題詳解(sql進(jìn)階)

    關(guān)于SQL的幾道小題詳解(sql進(jìn)階)

    當(dāng)我們拿到題目的時(shí)候,并不是急于作答,那樣會(huì)得不償失的,而是分析思路,采用什么方法,達(dá)到什么目的,還要思考有沒(méi)有簡(jiǎn)單的方法或者通用的方法等等,這樣才會(huì)達(dá)到以一當(dāng)十的效果
    2015-06-06
  • SQL server 隨機(jī)數(shù)函數(shù)

    SQL server 隨機(jī)數(shù)函數(shù)

    在SQL server中,有個(gè)隨機(jī)函數(shù)rand(),有不少新手可能不知道存在這個(gè)函數(shù),現(xiàn)在我就把這個(gè)函數(shù)的一些隨機(jī)數(shù)生成技巧寫(xiě)出來(lái),這是面向菜鳥(niǎo)的,老鳥(niǎo)請(qǐng)不要拍磚呀,我的頭還不夠硬
    2009-07-07
  • SQL Server存儲(chǔ)過(guò)程的基礎(chǔ)說(shuō)明

    SQL Server存儲(chǔ)過(guò)程的基礎(chǔ)說(shuō)明

    創(chuàng)建存儲(chǔ)過(guò)程,存儲(chǔ)過(guò)程是保存起來(lái)的可以接受和返回用戶(hù)提供的參數(shù)的 Transact-SQL 語(yǔ)句的集合。
    2008-10-10
  • mssql server 存儲(chǔ)過(guò)程里,bulk insert table from ''路徑+文件'',路徑固定,文件名不固定的實(shí)現(xiàn)方法

    mssql server 存儲(chǔ)過(guò)程里,bulk insert table from ''路徑+文件'',路徑固定,文件名

    mssql server 存儲(chǔ)過(guò)程里,bulk insert table from ''路徑+文件'',路徑固定,文件名不固定的實(shí)現(xiàn)方法...
    2007-07-07

最新評(píng)論