SQL Question:
I have this query:
SELECT MONTHNAME(date) AS month, Year(getdate()) AS Year, COUNT(*) AS monthly_sales_count
FROM orders
WHERE status = 0
AND YEAR(date) = 2012
GROUP BY month;
Which gives me results for 2012 per month.
How can I add the results for 2011 in one set of data, so i would get something like this:
Month Year Monthly_sales_count
december 2012 6576
november 2012 8788
october 2012 7676
september 2012 56
august 2012 345
july 2012 3356
june 2012 6563
may 2012 3245
april 2012 25234
march 2012 234
february 2012 454
january 2012 24352
december 2011 6576
november 2011 8788
october 2011 7676
september 2011 1313
august 2011 1343
july 2011 2243
june 2011 656
may 2011 3234
april 2011 435345
march 2011 34345
february 2011 2134
january 2011 3412
Though I’d look to make the WHERE clause sargable (make use of index)
NOTE:
You were doing
YEAR(GETDATE()), whereas I’ve assumed you actually want to doYEAR(date)– if what you had was deliberate, then will need more info on exact requirements.