mysql - mysql中的季度分析/月分析

标签 mysql sql database finance

我有贷款数据,我想根据季度或月份比较不同年份的销售额

我的数据是这样的

disbursementdate | amount | product | cluster
2017-01-01       | 1000   | HL      | West
2018-02-01       | 1000   | PL      | East

所以在查询之后,我希望结果看起来像这样

 Quarter | 2017 | 2018
   Q1    | 1000 | 0
   Q2    | 100  | 1000

同样的,月度分析也可以做

我也不反对以不同的格式存储数据......可以在不同的字段中拆分日期,例如月季年

我正在为查询而苦苦挣扎

最佳答案

您可以使用条件聚合:

select quarter(disbursementdate) as quarter,
       sum(case when year(disbursementdate) = 2017 then amount else 0 end) as amount_2017,
       sum(case when year(disbursementdate) = 2018 then amount else 0 end) as amount_2018
from 
group by quarter(disbursementdate) ;

如果你想在不同的行上显示 year/quarter,你可以这样做:

select year(disbursementdate) as year, quarter(disbursementdate) as quarter,
       sum(amount)
from 
group by year(disbursementdate), quarter(disbursementdate) ;

关于mysql - mysql中的季度分析/月分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50677390/

相关文章:

database - 如何从数据库加载 Zend Framework 应用程序详细信息

php - 通过html形式在mysql中插入数据(以及更多..)

sql - 如何通过 PostgreSQL 更新特定列的特定行以反射(reflect)另一个表中的值?

mysql - SQL 查询不会为连接中的每个匹配项返回多行

使用 PHP 分页时 MySQL 大表性能问题

.net - Linq to Sql、Linq、类型化数据集、ADO.NET 之间的区别

mysql - 自 MySQLd 5.1.63 以来,MySQL 的 mytop Perl 监视器在查询/问题方面不再有效?

c# - 无论我输入什么数字,我的文本框总是与 '0' 进行比较

Mysql 集群插入停止 TCROLLBACKREQ

mysql - 拉取组中特定列的最大值的mysql行