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