ROW_NUMBER()是一個Window函數,它為結果集的分區中的每一行分配一個連續的整數。 行號以每個分區中第一行的行號開頭。
語法實例:
select *,row_number() over(partition by column1 order by column2) as n from tablename在上面語法中:
示例:
對test_user表的查詢結果標記行號,并新增 “編號”列返回
運行結果:
可以看到,查詢結果新增了一列,專門用來標記行號。
有了編號,我們就可以方便地進行分頁查詢了,如何操作,可參考另外篇文章:sqlServer如何實現分頁查詢
示例:
把test_user表的name按照小組進行分組顯示,分組后在組內進行從低到高id排序
運行結果:
示例:
對 test_user表按name進行分組顯示,結果集中只顯示每組中一條 id最小的數據
運行結果:
查詢結果先是經過name分組,然后組內進行id升序排序,組內編號為1的第1條數據,自然就是id最小的數據。
注意:
當我們按成績分數查詢名次等需求時,不能用row_number(),因為如果同班有兩個并列第一,row_number()只返回一個結果。這個時候就要用到另外一個函數,rank()和dense_rank()。
rank()和dense_rank()區別:
1、RANK()
在計算排序時,若存在相同位次,會跳過之后的位次。
例如,有3條排在第1位時,排序為:1,1,1,4······
2、DENSE_RANK()
這就是題目中所用到的函數,在計算排序時,若存在相同位次,不會跳過之后的位次。
例如,有3條排在第1位時,排序為:1,1,1,2······
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...
在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...
在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...
88vip什么商品打折?每年的8月8日,被淘寶定為第88個會員日。這一天,所有會員朋友都可以享受一定的優惠。折扣是8: 8。1.淘寶電影年度國民卡(每月4張票,立減4元,通用,價值192元)優酷年度vip會員(價值198元)蝦米年度超級vip會員(價值128元)餓了么年度svip(價值108元,每月可享4個5元紅包)。2.天貓超市-88家超級品牌聯盟全店八五折-天貓國際官方直營全年八五折-全年八五...
CC英語CC是什么意思?TO: to.(寫信給某某)CC:抄送,意思是給寫信給某人的人送一份,主要是給,但因為其他人也需要了解情況,所以抄送給抄送的人。為什么很多女生網名叫cc?我覺得女生網名cc的意思是純潔的意思。每個女孩都希望自己永遠保持年輕純潔,不被世俗化,能保持生命之初擁有的優秀品質。女生的網名cc就有上面的意思,所以很多女生都愿意給自己的網名取名cc。為什么很多女生網名叫cc?可能性如是...
有哪些適合年會上玩的互動小游戲?每年過年前,很多公司都會開年會。那么,有哪些適合年會的游戲呢?有哪些互動好玩又能調動氣氛,讓大家都樂于參與其中的游戲?接下來給大家介紹五款適合年會的有趣互動游戲。1.[你說我猜]參加人數:10人為一組。游戲規則:一個人在提詞器前說出單詞的特征(不能直接說出單詞的名字),另一個人背對提詞器,根據對方的特征猜出單詞。在規定時間內,單詞最正確的組合獲勝。0-@qq.com...