Autor Zpráva
Anonym
Profil
Dobrý den, chtěl jsem se zeptat, jak by vypadal dotaz když mám tabulku uživatelé, chci je všechny vypsat, ale zároveň mám jinou tabulku s body (datum, komu_bod, od_koho) a uživatele bych chtěl vypsat tak aby kdo má nejvíce záznamů v tabulce body byl první atd. Předem děkuji za odpověď. :)
juriad
Profil
SELECT uzivatele.*, COUNT(od_koho) as pocet FROM uzivatele JOIN body ON uzivatele.id = body.komu_bod GROUP BY uzivatele.id ORDER BY pocet DESC

za předpokladu, že jeden uživatel nemůže dát stejnému uživateli víc bodů, jinak: COUNT(*)
Anonym
Profil
juriad:
Děkuji, ale pořád tu mám problém, že mi to vypisuje jen jeden záznam, a ne všechny uživatele. Jen ten, u kterýho je bod.
juriad
Profil
jeden záznam může vypisovat jen v následujících situacích:
1) existuje jen jeden uživatel
2) všichni uživatelé mají stejné id
3) máš chybu ve výpisu tabulky

ukaž relevantní kus kódu (dotaz do db a smyčku výpisu tabulky)
Anonym
Profil
juriad:
Přidal jsem do toho tvého dotazu LEFT JOIN místo JOIN a funguje to :)
Díky :)
juriad
Profil
jasně, uživatel nemusel mít přidělené žádné body; za to omlouvám
Anonym
Profil
juriad
Jinak ale moc děkuji, lepší než kdybych se tu s tím nějak mořil :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0