У меня есть IP-адрес, адрес электронной почты и дата в таблице. Мне нужно выяснить, сколько писем было отправлено (сгруппированы по IP и электронной почте вместе) в течение каждого месяца каждого года (поэтому группируйте по месяцам и годам). Сложность в том, что если письмо не было отправлено, мне нужно получить нулевое значение для результатов (теперь я не получаю пустых строк). Как я могу это сделать?
Select distinct X.Sender, X.IP, MONTH(s.date) as Month, YEAR (s.date) as Year, Count(s.ID)
From
(
Select TOP 10 a.Sender, a.SenderIP as IP, COUNT(a.ID) as C
From AMA a Where a.Summary = 'SPAM'
Group by a.Sender, a.SenderIP
Order by C desc
)As X left outer join AMAs
on X.Sender = s.Sender and X.IP = s.SenderIP
Where s.Summary = 'SPAM'
Group by X.Sender, X.IP, YEAR(s.date), MONTH(s.date)
Order by X.Sender,X.IP,YEAR(s.date) asc, Month(s.date) asc`