Hola sToRaGe:
Voy meter mi cuchara en este tema. OJO, hay una pequeña gran diferencia entre lo que pone gnzsoloyo y lo que estás poniendo tú. gnzsoloyo en su post pone algo como esto:
Código:
...
SUM(goles) goles, MAX(temporada) Temporada
...
ORDER BY goles DESC
mientras que estás poniendo esto
Código:
...
SUM( `GOLES` ) , MAX( `TEMPORADA` )
..
ORDER BY `GOLES` DESC
Observa que gnzsoloyo está poniendo un ALIAS al campo... por lo tanto, al ponerlo en el ORDER BY se refiere al CAMPO CALCULADO, es decir al campo ya sumarizado. En tu caso no estás colocando ningún ALIAS por lo tanto, al ponerlo en el ORDER BY haces referencia al campo individual, es decir, antes de sumarizarse.
Hay otra forma de obtener el resultado que ponías al inicio, y es con sumas condicionales, checa este script:
Código MySQL:
Ver original+----------+-------------+-------+
| nombre | competicion | goles |
+----------+-------------+-------+
| Manolito | Liga | 2 |
| Manolito | Copa | 0 |
| Manolito | Mundial | 5 |
| Pepito | Liga | 1 |
| Pepito | Copa | 3 |
| Pepito | Mundial | 2 |
+----------+-------------+-------+
-> nombre,
-> SUM(IF(competicion
= 'Liga', goles
, 0)) Liga
, -> SUM(IF(competicion
= 'Copa', goles
, 0)) Copa
, -> SUM(IF(competicion
= 'Mundial', goles
, 0)) Mundial
, +----------+------+------+---------+-------+
| nombre | Liga | Copa | Mundial | Total |
+----------+------+------+---------+-------+
| Manolito | 2 | 0 | 5 | 7 |
| Pepito | 1 | 3 | 2 | 6 |
+----------+------+------+---------+-------+
Observa que el ORDER BY se haces sobre el ALIAS que estoy declarando (TOTAL) es decir, sobre la suma.
Dale un vistazo y nos comentas.
Saludos
Leo.