Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sumowanie wartości tablicy o tych samych kluczach
Forum PHP.pl > Forum > PHP
wanq
Witajcie, pół dnia walczę z jedną zapewne prostą rzeczą, jednak efekt marny.

Mam zapytanie do bazy:
  1. SELECT df.submittedby, df.id, df.downloads, df.price, u.id, u.username FROM #__downloads_files as df LEFT JOIN #__users AS u ON df.submittedby = u.id WHERE df.downloads>0 ORDER BY u.username


Pole submittedby może przyjmować wiele razy tą samą wartość. Próbuję zsumować iloczyn pól downloads oraz price (czyli downloads*price+downloads*price+downloads*price+...) dla wszystkich użytkowników, o tej samej wartości pola submittedby. Jest to możliwe z poziomu mysql?


Może w php będzie łatwiej. Próbowałem to zrobić lecz po otrzymaniu tablicy:
  1. Array ( [0] => Array ( [user1] => 33 ) [1] => Array ( [user1] => 53.4 ) [2] => Array ( [user1] => 34.8 ) [3] => Array ( user2] => 52.2 ) [4] => Array ( [user2] => 17.4 ) [5] => Array ( [user3] => 24 ) )

nie wiem jak zsumować wartości dla tych samych użytkowników. W wyniku chciałbym uzyskać tablicę:
  1. Array( [0] => Array ( [user1] => 121.2 ) [1] => Array ( [user2] => 69.6 ) [2] => Array ( [user3] => 24 ) )
Sephirus
  1. SELECT SUM(df.downloads*df.price) AS suma, df.submittedby, u.id, u.username FROM downloads_files AS df LEFT JOIN users AS u ON df.submittedby = u.id WHERE df.downloads>0 GROUP BY df.submittedby ORDER BY u.username
wanq
Tak myślałem, że uda się to zrobić z poziomu zapytania do bazy:) Dzięki wielkie!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.