Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> COUNT i pobranie najaktywniejszych userów
maly_pirat
post 6.05.2010, 09:08:55
Post #1





Grupa: Zarejestrowani
Postów: 215
Pomógł: 0
Dołączył: 13.06.2007

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


Cześć.

Mam dwie tabele konkursowe, jedna to główna tabela (informacje o konkursie) a druga to lista uczestników konkursu.

Kod
konkursy:
| id | tytul | usrID_winner | status |

uczestnicy:
| id | kid | user_id |


usrID_winner - ID użytkownika, który wygrał konkurs (wtedy status == 1 Czyli zamknięty konkurs)
kid - ID konkursu (konkursy:id)
user_id - ID uczestnika danego konkursu

Co chciałbym uzyskać? Pobrać 5 użytkowników, którzy najczęściej wygrali konkursów i status konkursu == 1 (czyli zamknięty już)

Na dodatek będę musiał trzeba zrobić LEFT JOIN do tabeli uzytkownicy (id, username) aby pobrać login kto wygrał.

Nie mam pomysłu jak to zrobić; coś takiego mam, ale pobiera tylko jeden rekord :F
  1. SELECT COUNT(k.id) AS howMany, u.user_id, u.username FROM konkursy AS k LEFT JOIN uzytkownicy AS u ON(k.usrID_winner=u.user_id) WHERE k.STATUS = 1 ORDER BY howMany LIMIT 3
Go to the top of the page
+Quote Post
phpion
post 6.05.2010, 09:18:23
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Zapomniałeś o GROUP BY.
Go to the top of the page
+Quote Post
maly_pirat
post 6.05.2010, 12:24:28
Post #3





Grupa: Zarejestrowani
Postów: 215
Pomógł: 0
Dołączył: 13.06.2007

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


thx, a co proponujesz aby robiło LEFT JOIN do tabeli użytkowników jeżeli usrID_winner ma inna wartość niż 0 ?

teraz pobieram szczegóły konkursu, i po prostu chciałbym zrobić joina do tabeli użytkowników (aby pograć login) , ale po co ma robić joina skoro np. usrID_winner będzie miało wartość 0 ?
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: 24.06.2025 - 02:14