Select u.login,count(i.id)
FROM uzytkownicy u LEFT JOIN ilosclogowan i USING (login)
WHERE i.date between '2009-01-01' and '2009-01-31'
Group by u.login
W skrócie jest to obliczenie ilości logowań użytkowników w danym okresie.
Problem w tym, że gdy ktoś się nie logował to nie wyświetla wiersza z count(i.id) równym 0
Jeżeli zdejmiemy warunek daty to będą wpisy ze stanem równym 0, czyli left join będzie działał prawidłowo.
Where wyklucza z całej tabeli wyników pozycje np.
kowalski 0
makowski 0
Ma ktoś jakieś lekarstwo ? Tylko bez użycia podzapytania, bo chcę to jeszcze grupować po miesiącach itp..