Запрос на подсчет различных значений в скользящем диапазоне дат

У меня есть набор данных адресов электронной почты и даты, когда эти адреса были добавлены в таблицу. Для разных дат может быть несколько записей адреса электронной почты. Например, если у меня есть набор данных ниже. Я хотел бы получить дату и количество различных электронных писем, которые мы имеем между указанной датой и 3 днями назад.

<code>Date   | email  
-------+----------------
1/1/12 | [email protected]
1/1/12 | [email protected]
1/1/12 | [email protected]
1/2/12 | [email protected]
1/2/12 | [email protected]
1/3/12 | [email protected]
1/4/12 | [email protected]
1/5/12 | [email protected]
1/5/12 | [email protected]
1/6/12 | [email protected]
1/6/12 | [email protected]
1/6/12 | [email protected]
</code>

Набор результатов будет выглядеть примерно так, если мы будем использовать период даты 3

<code>date   | count(distinct email)
-------+------
1/1/12 | 3
1/2/12 | 3
1/3/12 | 3
1/4/12 | 3
1/5/12 | 2
1/6/12 | 2
</code>

Я могу получить различный счетчик диапазона дат, используя запрос ниже, но хочу получить счетчик диапазона по дням, поэтому мне не нужно вручную обновлять диапазон для сотен дат.

<code>select test.date, count(distinct test.email)  
from test_table as test  
where test.date between '2012-01-01' and '2012-05-08'  
group by test.date;
</code>

Помощь приветствуется.

Ответы на вопрос(4)

Ваш ответ на вопрос