当前位置: 代码迷 >> Sql Server >> 一样字段只取其中一条记录
  详细解决方案

一样字段只取其中一条记录

热度:98   发布时间:2016-04-24 08:58:27.0
同样字段只取其中一条记录?
表A,字段area,body

A记录:
area          body
河南洛阳      xx
河南洛阳      aa
河南郑州      cc
广东广州      dd
河南洛阳      ee 
河南信阳      nn  
河南郑州      mm
河南郑州      ee
河南安阳      pp 
河南郑州      vv
河南平顶山    xx
湖南衡阳      nn
海南三亚      oo
河北海口      mm
河南平顶山    xx

要选出所有河南的记录,但一个城市只显示一条记录就行了,比方"河南洛阳"出现3次,只需得到其它任何一条就可以,需要的结果如下:

河南洛阳      xx
河南信阳      nn 
河南郑州      ee
河南平顶山    xx
河南安阳      pp

怎么查询?



------解决思路----------------------
select   area,   min(body) from 表A group by  area
------解决思路----------------------
select area,min(body)  from A where area like '%河南%' group by area
不知道这样写对不对
------解决思路----------------------
;with cte as
(
select ROW_NUMBER() over(PARTITION by area order by area) as row,area,body
from A
)

select *
from cte 
where row=1
  相关解决方案