<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 495,comments - 227,trackbacks - 0

    我們經(jīng)常會(huì)有這樣的需求,即按照地區(qū)來分別取出每個(gè)地區(qū)排名前3的那些記錄。本文總結(jié)了幾種方法,希望大家補(bǔ)充。

     

    首先,創(chuàng)建測試用的表和數(shù)據(jù),如下:

     

    create table test

    (

    areaid int,

    score int

    )

    insert into test select 0,10

    union all select 0,20

    union all select 0,30

    union all select 0,40

    union all select 0,50

    union all select 1,10

    union all select 1,20

    union all select 1,30

    union all select 1,40

    union all select 1,50

    union all select 2,10

    union all select 2,20

    union all select 2,30

    union all select 2,40

    union all select 2,50

    go

     

    第一種方法適用于sql2000和2005,其代碼如下:

     

    select * from test a

    where checksum(*) in (select top 3 checksum(*) from test b where a.areaid=b.areaid order by score desc)

     

    第二種方法是利用sql2005的函數(shù)ROW_NUMBER,其代碼如下:

     

    WITH test1 AS

    (

        SELECT *,

        ROW_NUMBER() OVER (PARTITION BY areaid ORDER BY score desc) AS 'RowNumber'

        FROM test

    )

    SELECT *

    FROM test1

    WHERE RowNumber BETWEEN 1 AND 3;

     

    第三種方法是利用sql2005的cross apply來實(shí)現(xiàn),其代碼如下:

     

    select distinct t.* from test a

    cross apply

    (select top 3 areaid,score from test

    where a.areaid=areaid order by score desc) as T

    posted on 2012-06-07 15:12 SIMONE 閱讀(500) 評(píng)論(0)  編輯  收藏 所屬分類: SQL SERVER
    主站蜘蛛池模板: 国产在线观看片a免费观看| 免费国产成人18在线观看| 成年性午夜免费视频网站不卡| 亚洲福利视频一区二区三区| 久久久久久国产精品免费免费男同| 亚洲国产精品国自产拍AV| 久久免费国产视频| 亚洲黄色网址在线观看| 成人午夜免费福利视频| 日韩亚洲国产高清免费视频| 手机在线毛片免费播放| 亚洲av综合日韩| 亚洲精品尤物yw在线影院| 国偷自产一区二区免费视频| 亚洲图片一区二区| 最近中文字幕无吗免费高清| 亚洲第一街区偷拍街拍| 亚洲色偷偷狠狠综合网| 老汉精品免费AV在线播放| va天堂va亚洲va影视中文字幕| 女人18毛片水真多免费播放| 一级做a爰片久久毛片免费看| 亚洲熟妇无码AV在线播放| 免费无码成人AV在线播放不卡 | 亚洲裸男gv网站| 视频免费在线观看| 久久精品国产亚洲AV蜜臀色欲| 免费看国产曰批40分钟| 在线免费观看伊人三级电影| 亚洲天堂中文字幕在线观看| 免费在线观看中文字幕| 四虎影视成人永久免费观看视频| 亚洲三级高清免费| 国产亚洲精品线观看动态图| 毛片免费全部播放无码| 色屁屁在线观看视频免费| 亚洲高清在线视频| 国产成人一区二区三区免费视频| a毛看片免费观看视频| 亚洲国产欧美国产综合一区| 亚洲国产精华液网站w|