亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

金湖县| 桑植县| 铁力市| 荆州市| 河北区| 新竹市| 潞西市| 通城县| 刚察县| 宣武区| 同心县| 邛崃市| 云安县| 宝坻区| 夏邑县| 宁陵县| 黑山县| 隆安县| 克拉玛依市| 水富县| 白沙| 修水县| 大足县| 股票| 呼和浩特市| 兖州市| 大兴区| 阳原县| 朝阳区| 沙湾县| 陇西县| 嘉义县| 石门县| 肇东市| 五家渠市| 彭阳县| 黑山县| 景洪市| 南乐县| 舟曲县| 孟州市|