I have a requirement to write a stored procedure that accepts a start date, end date and a frequency (day, week, month, quarter, year) and outputs a result set based on thos
Create procedure MyProc
@startDate DateTime,
@endDate DateTime,
@freq varChar(5)
As
If @freq = "day"
Select DateAdd(day, 0, datediff(day, 0, date)), Frequency,
Sum(Count)
From Table
Group By DateAdd(day, 0, datediff(day, 0, date))
Else If @freq = "week"
Select DateAdd(week, 0, datediff(week, 0, date)), Frequency,
Sum(Count)
From Table
Group By DateAdd(week, 0, datediff(week, 0, date))
Else If @freq = "Month"
Select DateAdd(Month, 0, datediff(Month, 0, date)), Frequency,
Sum(Count)
From Table
Group By DateAdd(Month, 0, datediff(Month, 0, date))
Else If @freq = "Quarter"
Select DateAdd(Quarter, 0, datediff(Quarter, 0, date)), Frequency,
Sum(Count)
From Table
Group By DateAdd(Quarter, 0, datediff(Quarter, 0, date))
Else If @freq = "Year"
Select DateAdd(Year, 0, datediff(Year, 0, date)), Frequency,
Sum(Count)
From Table
Group By DateAdd(Year, 0, datediff(Year, 0, date))