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