tengo 3 columnas en una tabla llamada "compra":Suma de multiplicación de las columnas de las filas con identificaciones similares en MySQL
id amount price
2 2 21
2 5 9
3 8 5
Quiero grupo de todas las filas con identificaciones similares y tienen esta matriz como consecuencia :
array([0] => [id => 2, total => 87 (because 2*21+5*9=87)], [1] => [id => 3, total => 40 (because 8*5=40)])
como cuentas totales para SUM (cantidad * precio) para las filas con identificaciones similares.
He intentado usar
SELECT id, SUM(p.price*p.amount) total FROM purchases p GROUP by p.id
pero no funciona bien (es decir, no consigue lo que quiero, que es lo que escribí más arriba). ¿Alguna idea sobre cómo hacer esto en mysql?
Un ejemplo de lo que devuelve la consulta:
id amount price
2 3 89
2 3 19
SELECT id, SUM(p.price*p.amount) total FROM purchases p GROUP by p.id
==> [id => 2, total => 183]
Lo que está haciendo en realidad? ¿Qué quiere que haga? Son las dos cosas vitales que deberían tener todas las preguntas. La frase "no funciona bien" no es un buen informe de problemas. – paxdiablo
He dado un ejemplo, lea el ejemplo. – Gal
¿Qué * devuelve *? ¿Cuáles son sus datos exactos? – jensgram