计算两个时期之间的增长百分比

时间:2015-08-13 06:38:41

标签: mysql

我有一个数据库,其中包含一个投诉表和提交日期。 我要做的是,考虑到两个时期的开始和结束日期,我必须计算它们之间的增长百分比。

例如:

  • Q1(1月至3月)索赔= 200

  • Q2(4月 - 6月)索赔= 400

计算增长:

  • (现在 - 过去)/过去* 100

  • 增长百分比=(400 - 200)/ 200 * 100 = 100%增长

我必须从该报告中提取的信息在Q1和Q2之间增长了100%

这就是我提出的:

SELECT 
  (SELECT COUNT(id) FROM complaints WHERE submit_date >= start_date_period_1 AND submit_date <= end_date_period_1) AS q1_claims,
  (SELECT COUNT(id) FROM complaints WHERE submit_date >= start_date_period_2 AND submit_date <= end_date_period_2) AS q2_claims,
  (SELECT ((q2_claims - q1_claims)/q2_claims * 100) AS 'Percentage Growth')
FROM complaints;

但不以正确的形式显示输出。它显示给定时期内每个日期的记录。我该如何修复查询?

1 个答案:

答案 0 :(得分:5)

在原始查询中,您混合了聚合(即cmd.exe)和非聚合列,强制MySQL为您提供包含每行记录的结果集。请尝试使用此查询:

COUNT