mam 3 kolumny w tabeli o nazwie „nabyciu”:Suma mnożenie kolumn do wierszy o podobnych identyfikatorach w MySQL
id amount price
2 2 21
2 5 9
3 8 5
Chcę grupować wszystkie wiersze z podobnych identyfikatorów i mają tę tablicę w wyniku :
array([0] => [id => 2, total => 87 (because 2*21+5*9=87)], [1] => [id => 3, total => 40 (because 8*5=40)])
jak suma rachunków dla SUM (ilość * cena) dla wierszy o podobnych identyfikatorach.
Próbowałem za pomocą
SELECT id, SUM(p.price*p.amount) total FROM purchases p GROUP by p.id
ale to nie działa dobrze (to znaczy nie osiągnąć to, co chcę, co jest, co napisałem wyżej). Wszelkie pomysły, jak to zrobić w mysql?
Przykładem co zwraca zapytanie:
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]
Co to właściwie robi? Co chcesz zrobić? Są to dwie istotne rzeczy, które powinno mieć każde pytanie. Wyrażenie "nie działa dobrze" nie jest dobrym raportem o problemie. – paxdiablo
Podałem przykład, przeczytaj przykład. – Gal
Co * zwraca *? Jakie są twoje dokładne dane? – jensgram