sql - SQL 按详细信息和月份聚合事务
问题描述
我正在尝试汇总某些项目的总量。例如,我想获取 trx_desc 为“Amazon”并且在 8 月份的所有交易的总金额。
这是我用来尝试输出这些数据的查询:
select det_trx_type, SUM(amount) as 'Total Amt',
CASE
when MONTH(posting_date) = 8 THEN 'August'
when MONTH(posting_date) = 9 THEN 'September'
when MONTH(posting_date) = 10 THEN 'October'
END
as 'Month'
from av_finance
where det_trx_type IN(
select distinct det_trx_type from av_finance)
group by posting_date, det_trx_type
来自查询的数据
我希望 8 月份的亚马逊购买总数显示在 1 行,而不是在给定月份的每次购买中显示多行。
解决方案
您可以尝试让CASE WHEN
分组而不是仅posting_date
列,因为posting_date
它似乎是日期数据类型。
select det_trx_type, SUM(amount) as 'Total Amt',
CASE
when MONTH(posting_date) = 8 THEN 'August'
when MONTH(posting_date) = 9 THEN 'September'
when MONTH(posting_date) = 10 THEN 'October'
END as 'Month'
from av_finance
where det_trx_type IN(select distinct det_trx_type from av_finance)
group by
CASE
when MONTH(posting_date) = 8 THEN 'August'
when MONTH(posting_date) = 9 THEN 'September'
when MONTH(posting_date) = 10 THEN 'October'
END, det_trx_type
推荐阅读
- cortex-m - 关于 Cortex-M3 bit-banding 功能的一些问题
- google-apps-script - 从谷歌表格创建日历事件
- python - 使用卷积来导出图像边缘上的错误结果
- flutter - 如何在没有 android studio 模拟器的情况下在 VSCode 中运行颤振应用程序
- php - 如何在php中使用firebase发送带有图像和徽章的推送通知?
- python - python子进程通配符仅选择第一个文件
- php - 如何使用 PHP 从直接 URL 下载设备上的图像?
- mysql - Mysql EXECUTE 使用 null ...?
- angular - URL 已更改,但未呈现组件。重新加载页面后才能正常工作
- pandas - 更改 Excel 日期(作为整数)与单列中的时间戳混合 - 尝试过 str.extract