sql - SQL Server -- 按月分组
问题描述
我有一个 180k+ 行的 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);
解决方案
我会将月份和年份分成单独的列:
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;
推荐阅读
- python - Django 无法使用 Docker 连接到 MariaDB 实例
- nginx - 为 nginx 路由设置适当的代理超时
- angular - 将纯javascript转换为角度组件
- excel - Excel 仅显示负面调查结果
- android - 如何在保持范围内的同时制作 ImageView 的旋转动画?
- regression - 如何解决 Google AutoML 错误:目标列不能包含用于回归的无效值
- r - 为什么future包找不到函数?
- c - 静态与共享库,用于与第三方共享 RTOS 库(因此没有源代码)
- c - 将Linux中的输入光标设置到某个位置
- ios - iOS 应用被拒绝:指南 2.5.4,CoreBluetooth 后台处理