首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎么通过表内某字段返回该字段对应排行前n的行

2013-01-07 
如何通过表内某字段返回该字段对应排行前n的行有一个表,结构如下:CityNameSearchNameSearchCountcity_akey

如何通过表内某字段返回该字段对应排行前n的行
有一个表,结构如下:
CityName    SearchName     SearchCount
city_a      keywords_a     30
city_a      keywords_c     26
city_a      keywords_g     25
....
city_b      keywords_g     60
city_b      keywords_e     58
city_b      keywords_x     30
city_b      keywords_h     25
city_b      keywords_i     12
....
city_c      keywords_c     125
city_c      keywords_e     58
city_c      keywords_k     45
city_c      keywords_p     25
.....

CityName、SearchName构成主键,一旦某城市下某个关键字[SearchName]被搜索一次,搜索量[SearchCount]自动加1


现在就是想用一条语句搜索出各城市下关键字排行前N的所有数据,不想返回整个表,这个感觉不好整,向各位请教一下。

谢谢。



[解决办法]
2005以后可以使用row_number()over(partition by CityName  order by  SearchCount )id来给每一行加上一个id,并且以城市名来分组。

热点排行