Ще искате да използвате подзаявка, която ще получи max(b)
от всеки A
и след това присъединете тази стойност обратно към вашата таблица, за да върнете останалите колони, които съответстват на стойностите на подзаявката:
select *
from mytable t1
inner join
(
select A, max(b) B
from mytable
where b >50
group by a
) t2
on t1.a = t2.a
and t1.b = t2.b
where t1.b >50
Вижте SQL Fiddle с демонстрация