У меня есть 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)])
поскольку total учитывает СУММ (сумма * цена) для строк с похожими идентификаторами .
Я пробовал использовать
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]