日期:2014-05-18  浏览次数:20639 次

求一条sql语句,最大值查询?
数据表格:
省份     城市     值    
北京     海淀     2        
北京     东城     10      
北京     西城     4        
天津     塘沽     5        
河北     石家庄   10
河北     保定       20

我想按照省份查出各省份“值”这列最大的记录
就是查出来的结果表为:
省份     城市     值  
北京     东城     10    
天津     塘沽     5    
河北     保定     20

请问如何实现?

------解决方案--------------------

--方法一
Select * From 表 A Where Not Exists(Select 值 From 表 Where 省份 = A.省份 And 值 > A.值)

--方法二
Select * From 表 A Where 值 = (Select Max(值) From 表 Where 省份 = A.省份)

--方法三
Select A.* From 表 A
Inner Join
(Select 省份, Max(值) As 值 From 表 Group By 省份) B
On A.省份 = B.省份 And A.值 = B.值

------解决方案--------------------
select * from 数据表格 a
where not exists (
select 1 form 数据表格
where 省份=a.省份
and 值 > a.值
)