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

针对a列的不同值,取b列对应的最大值
例如:
tableA
fieldA fieldB
1 2
1 3
2 1
2 4
2 2
1 1
2 4

最后希望得到:
1 3
2 4

这个应当如何用一条语句完成?

------解决方案--------------------
select fieldA , max(fieldB) fieldB from tablea group by fielda
------解决方案--------------------
--如果只有这两个列,直接分组求MAX即可.
SQL code
create table tableA(fieldA int,fieldB int)
insert into tablea values(1 ,2)
insert into tablea values(1 ,3)
insert into tablea values(2 ,1)
insert into tablea values(2 ,4)
insert into tablea values(2 ,2)
insert into tablea values(1 ,1)
insert into tablea values(2 ,4)
go

select fieldA , max(fieldB) fieldB from tablea group by fielda

drop table tablea

/*
fieldA      fieldB      
----------- ----------- 
1           3
2           4

(所影响的行数为 2 行)
*/