读书人

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

发布时间: 2013-01-07 10:02:24 作者: rapoo

如何通过表内某字段返回该字段对应排行前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,并且以城市名来分组。

读书人网 >SQL Server

热点推荐