按百分比按月获取数据

3pvhb19x  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(293)

我一直想在谷歌上找到解决我的问题的办法,但我得到的是超出我的理解,因为我是新的数据库。我正在使用mysql。
问题
我在表中有数千条记录,其中我必须显示全年记录的逐月百分比。下面是订单表的结构

这就是我想要显示数据的方式

ki1q1bka

ki1q1bka1#

我会交叉连接两个查询。第一个是每月销售产品数量的总和,第二个是当年销售产品总数的总和:

SELECT     `month`, `num_month` / `num_year` * 100 AS "percent"
FROM       (SELECT   MONTH(`dateOfOrder`) AS "month", COUNT(*) AS num_month
            FROM     `order`
            WHERE    YEAR(`dateOfOrder`) = 2018
            GROUP BY MONTH(`dateOfOrder`) a
CROSS JOIN (SELECT COUNT(*) AS num_year
            FROM   `order`
            WHERE  YEAR(`dateOfOrder`) = 2018) b

相关问题