I have a query to show total orders by month based on a date column. May I know how to append year to the Month column?
x
select DATENAME(MONTH,DATEADD(MONTH, MONTH(<column>) - 1, 0)) AS Month,
count(*) AS Total_Request
from <table>
group by month(<column>)
Advertisement
Answer
I would just aggregate directly by the year and month, as a single text field:
SELECT
CONVERT(varchar(7), <column>, 120) AS Year-Month,
COUNT(*) AS Total_Request
FROM <table>
GROUP BY
CONVERT(varchar(7), <column>, 120);
If you really want the year and three letter abbreviation for the month, you may try:
SELECT
YEAR(<column>) AS Year,
LEFT(DATENAME(MONTH, <column>), 3) AS Month,
COUNT(*) AS Total_Request
FROM <table>
GROUP BY
YEAR(<column>),
LEFT(DATENAME(MONTH, <column>), 3);