Как извлечь год вместе с месяцем из этого запроса - PullRequest
0 голосов
/ 09 июля 2020

У меня есть запрос, чтобы показать общее количество заказов по месяцам на основе столбца даты. Могу ли я узнать, как добавить год в столбец «Месяц»?

select DATENAME(MONTH,DATEADD(MONTH, MONTH(<column>) - 1, 0)) AS Month,
    count(*) AS Total_Request
from <table>
group by month(<column>)

введите описание изображения здесь

Ответы [ 2 ]

3 голосов
/ 09 июля 2020

Начиная с SQL Server 2012, вы можете использовать функцию FORMAT

SELECT 
     FORMAT( YourColumn, 'yyyy-MMMM')
     ,COUNT(*) AS Total_Request
FROM 
    <table>
GROUP BY 
    FORMAT( YourColumn, 'yyyy-MMMM')
        

Вы также можете добавить культуру в качестве третьего параметра. Ниже синтаксис SQL:

FORMAT ( value, format [, culture ] )

Документацию смотрите здесь

2 голосов
/ 09 июля 2020

Я бы просто суммировал непосредственно по году и месяцу в виде одного текстового поля:

SELECT
    CONVERT(varchar(7), <column>, 120) AS Year-Month,
    COUNT(*) AS Total_Request
FROM <table>
GROUP BY
    CONVERT(varchar(7), <column>, 120);

Если вам действительно нужен год и трехбуквенное сокращение для месяца, вы можете попробовать:

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...