91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL中ROW_NUMBER函數怎么用

發布時間:2022-03-29 14:32:46 來源:億速云 閱讀:2048 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關SQL中ROW_NUMBER函數怎么用的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

ROW_NUMBER

  row_number的用途的非常廣泛,排序最好用他,一般可以用來實現web程序的分頁,他會為查詢出來的每一行記錄生成一個序號,依次排序且不會重復,注意使用row_number函數時必須要用over子句選擇對某一列進行排序才能生成序號。row_number用法實例:

select ROW_NUMBER() OVER(order by [SubTime] desc) as row_num,* from [Order]

  查詢結果如下圖所示:

  SQL中ROW_NUMBER函數怎么用

  圖中的row_num列就是row_number函數生成的序號列,其基本原理是先使用over子句中的排序語句對記錄進行排序,然后按照這個順序生成序號。over子句中的order by子句與SQL語句中的order by子句沒有任何關系,這兩處的order by 可以完全不同,如以下sql,over子句中根據SubTime降序排列,Sql語句中則按TotalPrice降序排列。

select ROW_NUMBER() OVER(order by [SubTime] desc) as row_num,* from [Order] order by [TotalPrice] desc

  查詢結果如下圖所示:

  SQL中ROW_NUMBER函數怎么用

  利用row_number可以實現web程序的分頁,我們來查詢指定范圍的表數據。例:根據訂單提交時間倒序排列獲取第三至第五條數據。

with orderSection as(    select ROW_NUMBER() OVER(order by [SubTime] desc) rownum,* from [Order])select * from [orderSection] where rownum between 3 and 5 order by [SubTime] desc

  查詢結果如下圖所示:

  SQL中ROW_NUMBER函數怎么用

  注意:在使用row_number實現分頁時需要特別注意一點,over子句中的order by 要與Sql排序記錄中的order by 保持一致,否則得到的序號可能不是連續的。下面我們寫一個例子來證實這一點,將上面Sql語句中的排序字段由SubTime改為TotalPrice。另外提一下,對于帶有子查詢和CTE的查詢,子查詢和CTE查詢有序并不代表整個查詢有序,除非顯示指定了order by。

with orderSection as(    select ROW_NUMBER() OVER(order by [SubTime] desc) rownum,* from [Order])select * from [orderSection] where rownum between 3 and 5 order by [TotalPrice] desc

  查詢結果如下圖所示:

  SQL中ROW_NUMBER函數怎么用

感謝各位的閱讀!關于“SQL中ROW_NUMBER函數怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

潞城市| 永城市| 上饶市| 筠连县| 青龙| 南阳市| 翁源县| 靖安县| 遵义县| 富锦市| 南投县| 巫溪县| 阿勒泰市| 岐山县| 龙南县| 南开区| 江安县| 永清县| 金溪县| 布尔津县| 逊克县| 巴彦县| 湘潭市| 阳东县| 丽江市| 千阳县| 嘉鱼县| 确山县| 遵义县| 北京市| 承德市| 龙江县| 阿拉善右旗| 富平县| 柳州市| 二连浩特市| 云林县| 莲花县| 惠州市| 花莲市| 杭锦后旗|