Now if the data is only for a year, the query would work. However this is seldom the case. In most of the reports I have seen, end users want to see the quarters for 'each' year. So to do it correctly, you have to add the year too in the GroupBy clause, as shown below:
Now the query will differentiate each quarter by its year and produce correct results. It's a simple tip, but very easy to forget!