How to: group by month with SQL

I took this particular code from http://weblogs.sqlteam.com/jeffs/archive/2007/09/10/group-by-month-sql.aspx,

a good read. Shows you what to avoid and why.

 

The recommended technique is the following:

 

GROUP BY dateadd(month, datediff(month, 0, SomeDate),0)

 

By the way, in the "select" clause, you can use the following:

 

SELECT

        month(dateadd(month, datediff(month, 0, SomeDate),0)) as [month],

        year(dateadd(month, datediff(month, 0, SomeDate),0)) as [year],

 

Just remember to also sort properly if needed:

 

ORDER BY dateadd(month, datediff(month, 0, SomeDate),0)

posted @ Thursday, June 17, 2010 10:14 AM
Print

Comments on this entry:

No comments posted yet.

Your comment:



(not displayed)

 
 
 
 

Live Comment Preview: