problem count left join

0

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..

0

Znalazłem rozwiązanie:

Select u.login,count(i.id)
FROM uzytkownicy u LEFT JOIN ilosclogowan i USING (login) AND i.date between '2009-01-01' and '2009-01-31'

Group by u.login

1 użytkowników online, w tym zalogowanych: 0, gości: 1