求一句SQL语句。
Name BNum ENumaaa 10 20
aaa 20 40
aaa 30 35
bbb 12 22
bbb 11 12
bbb 13 20
要求选出以Name分组的每组中BNum最大的数据
出来的结果是
Name BNum ENum
aaa 30 35
bbb 13 20
怎么写?
好象也不对。
万一原数据是这样的。
Name BNum ENum
aaa 10 20
aaa 20 40
aaa 30 35
bbb 12 22
bbb 20 12
出来的结果是
Name BNum ENum
aaa 20 40
aaa 30 35
bbb 20 12
select a.bnum ,a.name ,b.enum from (select max(bNum) as bNum ,Name from table group by Name) a
inner join table b on a.name = b.name and a.bnum = b.bnum
[此贴子已经被作者于2006-11-14 10:40:32编辑过]
Name BNum ENum
aaa 10 20
aaa 20 40
aaa 30 35
bbb 12 22
bbb 11 12
bbb 13 20
要求选出以Name分组的每组中BNum最大的数据
select a.* from tb a,
(select name , max(bnum) as bnum from tb group by name) b
where a.name = b.name and a.bnum = b.bnum