SQL group by frequency within a date range

后端 未结 4 2038
攒了一身酷
攒了一身酷 2020-12-31 16:44

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

4条回答
  •  暖寄归人
    2020-12-31 17:27

    Something like this should work.

    select date_column,
         sum(count)
    from @table
    where date_column between @start_date and @end_date
    group by case @frequency
                        when 'week' then datepart(week,date_column )
                        when 'year' then datepart(year,date_column)
                        when 'quarter' then datepart(quarter,date_column)
                        when ...
             end;
    

提交回复
热议问题