Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sumowanie wartości tablicy o tych samych kluczach
wanq
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 24.10.2008

Ostrzeżenie: (0%)
-----


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 ) )
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Sephirus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


  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


Ten post edytował Sephirus 29.02.2012, 08:41:16
Go to the top of the page
+Quote Post
wanq
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 24.10.2008

Ostrzeżenie: (0%)
-----


Tak myślałem, że uda się to zrobić z poziomu zapytania do bazy:) Dzięki wielkie!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 15:57