SQL Server-按月分组

时间:2018-08-08 17:44:15

标签: sql sql-server ssms

我有一个超过18万行的SQL Server表,我试图在该表上运行一些基本分析(我是SQL新手)。

基本上,我想按时间戳记中的YYYY-MM对行进行分组并对其进行计数。

这是我到目前为止的内容,但是没有用。任何帮助将不胜感激。

SELECT 
    CONVERT(NVARCHAR(7), [dbname].[column name], 12) [Month], 
    SUM(Amount) [TotalAmount]
FROM
    [dbname]
GROUP BY 
    CONVERT(NVARCHAR(7), [dbname].[column name], 12);

1 个答案:

答案 0 :(得分:3)

我将月份和年份分为不同的列:

select year(col), month(col), sum(amount)
from [dbname] t
group by year(col), month(col)
order by year(col), month(col);

如果您确实想要YYYY-MM:

select convert(varchar(7), col, 120) as yyyymm, sum(amount)
from [dbname] t
group by convert(varchar(7), col, 120)
order by yyyymm;