首页 > 解决方案 > 以百分比为单位获取年月数据

问题描述

我一直想在谷歌上找到解决我的问题的方法,但我得到的只是我无法理解的,因为我是数据库新手。我正在使用Mysql。

问题

我在表中有数千条记录,我必须在其中显示当年全年记录的月份百分比。以下是订单表的结构

在此处输入图像描述

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

在此处输入图像描述

标签: mysqlsqlselect

解决方案


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

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

推荐阅读