У меня есть 3 столбца в таблице под названием «покупки»:
id amount price
2 2 21
2 5 9
3 8 5
Я хочу сгруппировать все строки с одинаковыми идентификаторами и в результате получить этот массив:
array([0] => [id => 2, total => 87 (because 2*21+5*9=87)], [1] => [id => 3, total => 40 (because 8*5=40)])
как общая сумма для СУММ (сумма * цена) для строк с одинаковыми идентификаторами .
Я пытался использовать
SELECT id, SUM(p.price*p.amount) total FROM purchases p GROUP by p.id
, но это не работает (т.е. он не достигает того, чего я хочу, о чем я писал выше).Любые идеи о том, как сделать это в MySQL?
Пример того, что запрос возвращает:
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]