SQL SERVER 函数ROW_NUMBER() 应用
生活随笔
收集整理的這篇文章主要介紹了
SQL SERVER 函数ROW_NUMBER() 应用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
應用場景:
1.業務要求SQL查詢結果中輸出含有“序號”、“行號”。
2.數據表中某個空白字段需要用流水號填充。
以上場景時,可以使用SQL SERVER 的函數ROW_NUMBER()來實現,首先了解下這個函數
ROW_NUMBER() OVER( [排序規則] )
按照函數中英文字面理解,返回 數據記錄在【排序規則】下所在的序號。
排序規則部分:PARTITION BY COLUMN ORDER BY COLUMN
ORDER BY COLUMN 是必須的,也容易理解,就是排序。
PARTITION BY COLUMN? 是可選的,類似于對數據分組。
完整函數:
ROW_NUMBER() OVER(?PARTITION BY 字段1 ORDER BY 字段2 )
就是 ?返回的數據記錄ROW_NUMBER() OVER(?序號,是將數據結果先按照“字段1”分組,然后每組數據中,再按照“字段2”排序產生的序號。
應用一舉例:
應用二舉例:
目的:表xt_xmb中的空白字段ecode,需要為全表每條記錄添加一個流水序號,從10000開始,必須按照字段yqdh和xmdh排序。
UPDATE A SET A.ecode=B.CODE FROM xt_xmb A JOIN (SELECT (ROW_NUMBER() OVER (ORDER BY YQDH,XMDH)+10000) AS CODE,YQDH,XMDH,XMBH FROM xt_xmb ) B ON A.yqdh=B.yqdh AND A.xmdh=B.xmdh
?
轉載于:https://www.cnblogs.com/thinpro/p/7526891.html
總結
以上是生活随笔為你收集整理的SQL SERVER 函数ROW_NUMBER() 应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第二章
- 下一篇: CCF - 201409-3 - 字符串