【问题标题】:MySQL - How to remove subquery and simplify - calculate increase rate of sales by yearMySQL - 如何删除子查询并简化 - 计算每年的销售额增长率
【发布时间】:2017-10-31 15:44:10
【问题描述】:

我是 MySQL 的新手,想弄清楚是否有办法简化我的查询以获得“从 2014 年到 2015 年销售额增加了多少百分比”。请看

fiddle.

虽然结果是对的,但是我用了很多子查询。

这是我的想法:

SELECT s15.store_id, SUM(s15.sales)/SUM(s14.sales) - 1
FROM STORE S15 INNER JOIN STORE S14
    ON S15.store_id = S14.store_id
WHERE S15.year = 2015 and s14.year = 2014
GROUP BY S15.year, S14.year

如需优化提示,请随时告诉我。 Tnx。

【问题讨论】:

    标签: mysql sql join subquery


    【解决方案1】:

    您可以使用条件聚合和一个group by

    SELECT store_id,
           SUM(CASE WHEN YEAR(order_date) = 2014 THEN order_amount END) AS sell_2014,
           SUM(CASE WHEN YEAR(order_date) = 2015 THEN order_amount END) AS sell_2015
    FROM Orders
    WHERE YEAR(order_date) IN ( 2014, 2015 )
    GROUP BY store_id
    

    增长速度的算术由你决定。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-01
      • 2014-06-29
      • 1970-01-01
      • 1970-01-01
      • 2016-03-26
      • 2021-12-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多