Zoradenie podla poctu zaznamov v inej tabulke (php)

Programovacie jazyky, rady, poradňa...
lama2d
VIP
VIP
Príspevky: 1006
Registrovaný: 24 feb 2005, 14:54
Bydlisko: PostgreSQL

Zoradenie podla poctu zaznamov v inej tabulke (php)

Príspevok od používateľa lama2d »

No tak po dlhsej dobe som tu zas :D . Mam takyto problem. Potrebujem spravit jeden SELECT. Mam dve tabulky. Jedna tabulka su zaregistrovani uzivatelia a druha je log. V tabulke log je stlpec user_id ktory priurcuje dany riadok uzivatelovy. No a ja potrebujem spravit top10 uzivatelov podla poctu zaznamov v logu. Takze ten kto ma najviac zaznamov bude hore a ten co najmenej dole. Snad som to dobre vysvetlil. Diky za pomoc. :)
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Budeš musieť zmeniť mená tabuliek a stĺpcov:

Kód: Vybrať všetko

SELECT  l_users.id, l_users.name, COUNT(*) AS count FROM `l_logs`, `l_users` WHERE l_logs.user_id=l_users.id GROUP BY l_users.id ORDER BY count DESC LIMIT 0,10
(toto ti vráti id a meno užívateľa plus počet záznamov v log; ak tam niečo nepotrebuješ, tak to vymaž zo SELECT)
lama2d
VIP
VIP
Príspevky: 1006
Registrovaný: 24 feb 2005, 14:54
Bydlisko: PostgreSQL

Príspevok od používateľa lama2d »

diky moc k+
IgiPoP
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 446
Registrovaný: 12 sep 2005, 8:17
Bydlisko: MT

Príspevok od používateľa IgiPoP »

robme veci rychlejsie :wink:

Kód: Vybrať všetko

SELECT COUNT(A.user_id) AS suma, B.* FROM logs A LEFT JOIN users B ON (A.user_id = B.user_id) GROUP BY A.user_id ORDER BY suma DESC LIMIT 0,10
Napísať odpoveď