<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
    主站蜘蛛池模板: 亚洲网站视频在线观看| 久久免费精彩视频| 亚洲人成电影在线观看网| 亚洲色大成网站www永久一区 | 免费91最新地址永久入口| 日韩亚洲人成在线综合| 亚洲精品韩国美女在线| 国产V亚洲V天堂A无码| 免费在线观看的黄色网址| 大学生美女毛片免费视频| 国产大片免费网站不卡美女| 在线看片免费人成视频久网下载| 国产区图片区小说区亚洲区| 最新亚洲精品国偷自产在线| 亚洲欧洲日产国码在线观看| 久久亚洲国产精品五月天| 亚洲午夜无码久久久久| 亚洲一区二区三区乱码A| 国产一精品一aⅴ一免费| 午夜一级免费视频| 99视频在线精品免费观看6| 亚洲免费电影网站| 16女性下面扒开无遮挡免费| 日韩免费观看一区| 免费视频成人手机在线观看网址| 91在线免费观看| 成人一区二区免费视频| 精精国产www视频在线观看免费| 一级毛片a女人刺激视频免费| 男性gay黄免费网站| 猫咪免费观看人成网站在线| 美女黄色免费网站| 美女扒开屁股让男人桶爽免费| 亚洲第一街区偷拍街拍| 久久久久久亚洲av无码蜜芽| 亚洲成AV人影片在线观看| 亚洲AV日韩AV无码污污网站| 亚洲6080yy久久无码产自国产| 日日摸日日碰夜夜爽亚洲| 免费看黄网站在线看| 一级毛片免费视频网站|