Dos sumas de diferentes campos en una tabla
Hola! Llevo ya un tiempo intentando hacer una operación en la base de datos, pero no la consigo de ninguna forma...
Tiene que ser una tonterÃa, pero yo no lo saco (todos los comandos que he probado me dan error).
La cosa es que tengo en una tabla el campo Consumo1 y el campo Consumo2, y lo que quiero es que me devuelva la suma de Consumo1 y Consumo2 de toda la tabla.
Lo he intentado de varias formas, por ejemplo:
SELECT (SELECT sum(consumo1) FROM gas WHERE distrito1="Madrid") AS q1, (SELECT
sum(consumo2) FROM gas WHERE distrito2="Madrid") AS q2;
Eso me devuelve la suma del consumo de esa ciudad en los dos distritos, pero por separado... y a mi me gustarÃa que me lo devolviese junto para después hacerle el order by y tenerlo ya ordenado por consumo de mayor a menor.
He probado
SELECT (SELECT sum(consumo1) FROM gas WHERE distrito1="Madrid") AS q1, (SELECT
sum(consumo2) FROM gas WHERE distrito2="Madrid") AS q2 order by q1+q2;
¿Alguna idea? Muchas gracias
Tiene que ser una tonterÃa, pero yo no lo saco (todos los comandos que he probado me dan error).
La cosa es que tengo en una tabla el campo Consumo1 y el campo Consumo2, y lo que quiero es que me devuelva la suma de Consumo1 y Consumo2 de toda la tabla.
Lo he intentado de varias formas, por ejemplo:
SELECT (SELECT sum(consumo1) FROM gas WHERE distrito1="Madrid") AS q1, (SELECT
sum(consumo2) FROM gas WHERE distrito2="Madrid") AS q2;
Eso me devuelve la suma del consumo de esa ciudad en los dos distritos, pero por separado... y a mi me gustarÃa que me lo devolviese junto para después hacerle el order by y tenerlo ya ordenado por consumo de mayor a menor.
He probado
SELECT (SELECT sum(consumo1) FROM gas WHERE distrito1="Madrid") AS q1, (SELECT
sum(consumo2) FROM gas WHERE distrito2="Madrid") AS q2 order by q1+q2;
¿Alguna idea? Muchas gracias
Si mal no entiendo quieres que sume ambos consumos de cada registro y a ese resultado lo acumule..
La operación de suma se puede hacer directamente entre campos de un mismo registro:
SELECT sum(consumo1+consumo2) as SumaTotal FROM gas WHERE distrito1="Madrid" order by SumaTotal;
Y si lo querés por distrito:
SELECT sum(consumo1+consumo2) as SumaTotal FROM gas WHERE distrito1="Madrid" order by distrito1,SumaTotal;
una de las ventajas del MySQL es que ni siquiera es necesario que el campo de ordenamiento esté presente en la selección, y que además permite usar alias definidos en el mismo select.
La operación de suma se puede hacer directamente entre campos de un mismo registro:
SELECT sum(consumo1+consumo2) as SumaTotal FROM gas WHERE distrito1="Madrid" order by SumaTotal;
Y si lo querés por distrito:
SELECT sum(consumo1+consumo2) as SumaTotal FROM gas WHERE distrito1="Madrid" order by distrito1,SumaTotal;
una de las ventajas del MySQL es que ni siquiera es necesario que el campo de ordenamiento esté presente en la selección, y que además permite usar alias definidos en el mismo select.