SQL: uso de GROUP BY y MAX en varias columnas

Hola, tengo un problema con una consulta SQL. Tomemos este ejemplo de datos

itemID  catID  attrib1  attrib2
  1       1       10       5   
  2       1       10       7
  3       1        5      10
  4       2       18      15

Quiero devolver el mejor elemento para cada categoría (con attrib1 teniendo prioridad sobre attrib2)

Obviamente, "SELECT catID, MAX (attrib1), MAX (attrib2) FROM test_table GROUP BY catID" no funciona, ya que devolverá 10 y 10 para el primer gato.

Entonces, ¿hay alguna forma de decirle a MySQL que seleccione el valor máximo de la fila attrib2 pero solo considere aquellos en los que attrib1 también es el valor máximo? es decir, devolver los siguientes datos

 catID  attrib1  attrib2
   1       10       7   
   2       18      15

Respuestas a la pregunta(4)

Su respuesta a la pregunta