Garrett
10.04.2012, 17:43:06
Witam,
bardzo prosiłbym o pomoc w sformułowaniu następującego zapytania.
Są 2 tabele:
1. Użytkownicy
id_uzytkownik, login, haslo, email
i
2. Wpisy
id_wpis, id_uzytkownik (autor), tresc, data
Chciałbym zrobić ranking (malejący) użytkowników ze względu na ilość wpisów. Jak będzie wyglądało zapytanie?
mortus
10.04.2012, 18:07:57
SELECT `u`.`id_uzytkownik`, `u`.`login`, `u`.`email`, COUNT(`w`.`id_wpis`) `liczba_wpisow` FROM `uzytkownicy` `u` LEFT JOIN `wpisy` `w` USING (`id_uzytkownik`) GROUP BY `u`.`id_uzytkownik` ORDER BY `liczba_wpisow` DESC
EDIT:
Zapomniałem o GROUP BY.
Garrett
10.04.2012, 18:20:27
Twoje zapytanie wyświetla tylko jednego użytkownika z największą ilością wpisów a `liczba_wpisow` to suma wszystkich ankiet (ma być sumą danego usera)
EDIT: Po dodaniu Group By działa

Dzięki