Bạn có thể nhận các giá trị thuộc về thuộc tính tốt nhất, sau đó kết hợp với các giá trị thuộc tính đó và nhận được giá trị tốt nhất trong số đó cho mỗi giá trị thuộc tính1:
select t2.catID, t2.attrib1, max(t2.attrib2)
from
(
select catID, max(attrib1) as attrib1
from test_table
group by catID
) t1
inner join test_table t2 on t2.catID = t1.catID and t2.attrib1 = t1.attrib1
group by t2.catID, t2.attrib1