人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

如何在SQL中對行進行動態編號

如何在SQL中對行進行動態編號

更新時間:2022-07-21 文章作者:未知 信息來源:網絡 閱讀次數:

    如何在SQL中對行進行動態編號,加行號這個問題,在數據庫查詢中,是經典的問題.
    我把現在的方法整理一下,分享一下技巧吧
    代碼基于pubs樣板數據庫
    在SQL中,一般就這兩種方法.
    1.使用臨時表
    可以使用select into 創建臨時表,在第一列,加入Identify(int,1,1)作為行號,
    這樣在產生的臨時表中,結果集就有了行號.也是目前效率最高的方法.
    這種方法不能用于視圖
    代碼:
    set nocount on
    select IDentify(int,1,1) 'RowOrder',au_lname,au_fname into #tmp from authors
    select * frm #tmp
    drop table #tmp
    2.使用自連接
    不用臨時表,在SQL語句中,動態的進行排序.這種方法用到的連接是自連接,連接關系一般是
    大于,
    代碼
    select rank=count(*), a1.au_lname, a1.au_fname
    from authors a1 inner join authors a2 on a1.au_lname + a1.au_fname >= a2.au_lname + a2.au_fname
    group by a1.au_lname, a1.au_fname
    order by count(*)
    運行結果:
    rank au_lname au_fname 
    ----------- ---------------------------------------- -------------------- 
    1 Bennet Abraham
    2 Blotchet-Halls Reginald
    3 Carson Cheryl
    4 DeFrance Michel
    5 del Castillo Innes
    6 Dull Ann
    7 Greene Morningstar
    ... ....

    缺點:
    1.使用自聯接,所以該方法不適用于處理大量行。它適用于處理幾百行。
    對于大型表,一定要使用索引以避免進行大范圍的搜索,或用第一種方法.
    2.不能正常處理重復值。當比較重復值時,會出現不連續的行編號。
    如果不希望出現這種現象,可以在電子表格中插入結果時隱藏排序列,而是使用電子表格編號。
    或用第一種方法
    優點:
    1.這些查詢可以用于視圖和結果格式設置中

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 墨脱县| 大洼县| 淅川县| 闵行区| 韶山市| 石狮市| 鹤庆县| 安西县| 来宾市| 达日县| 若羌县| 祁东县| 巴林左旗| 象州县| 甘孜县| 盐池县| 罗定市| 定州市| 牟定县| 宿松县| 玉门市| 安图县| 巫山县| 大名县| 宜城市| 会东县| 军事| 洞头县| 拉萨市| 云林县| 扎兰屯市| 西平县| 靖西县| 文化| 三原县| 乐亭县| 黄平县| 五指山市| 万载县| 阿荣旗| 渝中区|