Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> LEFT JOIN i co dalej?, LEFT JOIN + AVG + COUNT?
Aztech
post 24.10.2004, 15:33:37
Post #1





Grupa: Zarejestrowani
Postów: 276
Pomógł: 3
Dołączył: 22.10.2003
Skąd: Wrocław

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


Chciałbym wyliczyć średnie punktowe jakie uzyskały osoby umieszczone u mnie w bazie.

TID | TurnID | HID| GID | GP | HP | DN
gdzie
TID klucz
TurnID numer turnieju
HIP ID gospodarza meczu
GID ID gościa meczu
HP punkty zdobyte w meczu przez gospodarza
GP punkty zdobyte w meczu przez gością
DN ID miejsca gdzie odbył sie mecz

Problem polega na tym, że osoba może wystapić raz jako gość i raz jako gospodarz i nie mogę sobie poradzić wtedy z wyliczniem średniej, zapytanie zwraca mi średnie, AHP jest z 10 meczow a AGP jest z 3 i nie wiem jak zliczyc te mecze

moje zapytanie:
  1. SELECT td1.HostID, td2.GuestID, AVG( td1.HostPoints ) AS AHP, AVG( td2.GuestPoints ) AS AGP
  2. FROM tournamentsdata AS td1
  3. LEFT JOIN tournamentsdata AS td2 ON td1.HostID = td2.GuestID
  4. GROUP BY td1.HostID


Jak dodam
  1. count(td1.HostPoints) oraz count (td2.HostPoints)

to pokazuje mi jakies kosmiczne ilosci meczow... ale srednie sa wyliczane dobrze
ti samo jak uzyje SUM to suma jest za duza ale w ogolnym podsumowaniu srednie są OK (chyba zlicza z powtorzeniami)

1) JAK ZLICZYC POPRAWNIE MECZE
2) JAK WYELIMINOWAC POWTORZENIA?

Ten post edytował Aztech 24.10.2004, 15:55:58
Go to the top of the page
+Quote Post
spenalzo
post 26.10.2004, 00:51:14
Post #2





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


Skoro pokazuje złe wartości, to powinieneś zmienić warunek lub kolumnę, którą zliczasz.


--------------------

Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 15.07.2025 - 19:24