Группа SQL по частоте в диапазоне дат

У меня есть требование написать хранимую процедуру, которая принимает дату начала, дату окончания и частоту (день, неделя, месяц, квартал, год) и выводит набор результатов на основе этих параметров. Очевидно, самая простая часть - это запрос по диапазону дат, но как вы группируете по частоте?

Итак, если у вас есть набор необработанных данных вроде этого:

Date            Count
---------------------
11/15/2011          6
12/16/2011          9
12/17/2011          2
12/18/2011          1
12/18/2011          4

И я вызываю свою сохраненную процедуру следующим образом:

sp_Report «01.01.2011», «31.12.2011», «неделя»

Я бы ожидал таких результатов:

WeekOf          Count
---------------------
11/19/2011          6
12/17/2011         11
12/24/2011          5

Здесь есть пара вопросов:

1) Как мне определить дата конца недели (неделя, заканчивающаяся в воскресенье)?

2) Как мне сгруппировать по этому диапазону дат WeekOf?

8
задан marc_s 27 December 2011 в 07:40
поделиться