Cita: num sección elemento1 elemento2 elemento3
1 1 20 18 7
1 2 15 6 9
1 3 10 5 5
2 1 2 22 3
2 2 10 7 2
2 3 1 11 10
Tendría que obtener
num seccion1 sección2 seccion3 total
1 45 30 20 95
2 27 19 22 68
Creo que voy entendiendo.
Esta sería la solución
para MySQL, no es aplicable si usas otro DBMS:
Código SQL:
Ver originalSELECT num,
SUM(IF(seccion = 1, (elemento1 + elemento2 + elemento3), 0) Seccion1,
SUM(IF(seccion = 2, (elemento1 + elemento2 + elemento3), 0) Seccion2,
SUM(IF(seccion = 3, (elemento1 + elemento2 + elemento3), 0) Seccion3,
SUM(elemento1 + elemento2 + elemento3) Total
FROM datos
WHERE elemento1>0 AND elemento2>0 AND elemento3>0
GROUP BY num
ORDER BY 5 DESC;