Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: COUNT i pobranie najaktywniejszych userów
Forum PHP.pl > Forum > Bazy danych > MySQL
maly_pirat
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
phpion
Zapomniałeś o GROUP BY.
maly_pirat
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 ?
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.