![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 283 Pomógł: 11 Dołączył: 9.07.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam!
W bazie danych mam następującą strukture: (IMG:http://clip2net.com/clip/m0/1355783186-clip-15kb.png) itd. itd. Rekordów jest w tej tabeli tysiące albo ich setki. Chcę zrobić zestawienie który użytkownik(nick) zarobił najwięcej w danym przedziale czasu, chodzi mi o ubiegły tydzień. Jak skonstruować zapytanie w php tak aby mi to policzyło? Co mam wpisać w warunku where, nie chodzi nawet o porównywanie daty bo to nie jest problemem, ale co mam wpisać user = ?, żeby liczyło każdy wystąpienie dla usera razem do jego całkowitego wyniku, a nie oddzielnie. Zakładająć, że nie wiem który użytkownik zarabia najwięcej i chce to dopiero sprawdzić. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Najprostsze rozwiązanie to pogrupowanie wyników (GROUP BY `nick`) oraz sumowanie (SUM(`amount`) as total)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 283 Pomógł: 11 Dołączył: 9.07.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję bardzo za naprowadzenie (IMG:style_emoticons/default/smile.gif)
Wrzucam co stworzyłem:
Może komuś się przyda, a jeśli ktoś ma jakieś uwagi jakby to zoptymalizować to chętnie posłucham (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
1. Nadawaj aliasy. Nazwa pola - Sum(amount) jest dość nieprzyjazna.
2. Nazwy pól używaj w grawisach - `. Zarówno w MySQL, jak i PHP "date" jest funkcją - może to narobić kłopotów. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 09:58 |