从表中选择前3个不同的记录

时间:2015-03-15 06:09:33

标签: sql-server

我有一个这样的表,其中包含以下列: country,woeid,sometopic,LastDateTime

 Venezuela  23424982    Metoo
 Venezuela  23424982    Chaderton
 India      25424282    BossAgain
 World      1           EL AVIADOR
 Venezuela  23424982    ChicagoBurning and so on...

我希望选择不同的国家/地区,而且只需前三行。

我希望结果类似于LastDateTime排序。

 Venezuela  23424982    Chaderton
 India      25424282    BossAgain
 World      1           EL AVIADOR

我试过这样:

 select distinct(country), woeid, sometopic, * from PopularTrends  order by LastModifiedTime desc 

但这没效果。

任何指针?

1 个答案:

答案 0 :(得分:1)

试试这个,

SELECT COUNTRY,WOEID,SOMETOPIC,LASTDATETIME
FROM   (SELECT *,
               Row_number()
                 OVER(
                   PARTITION BY COUNTRY
                   ORDER BY LASTDATETIME) AS RN
        FROM   #Yourtable)A
WHERE  RN = 1