SQL 帮助 - 每月销售额总计

SQL Help - Totals From Monthly Sales

所以我在 mySQL 数据库中提取所有标有特定型号前缀的项目,我按产品名称分组,我正在计算数量(一个订单可能有多个产品),我正在打印批发价,这是一个手动 CASE 语句,根据完整型号名称设置价格。

然后table显示:产品,型号,数量,批发价。

我想做的是每个产品都有一个总计(数量*批发价),在最下面有每月的总计。

问题是批发价不是官方专栏,因为它是每行设置它的一个丑陋的 case 语句。

这是我的代码的净化版本

SELECT 
products_name, 
count(products_quantity) as quantity,

CASE WHEN products_model = '123-ir' THEN 8.50
     WHEN products_model = '123#262' THEN 8.50 
     WHEN products_model = '123#262red' THEN 10.50 
     WHEN products_model = '123#249' THEN 8.50
     WHEN products_model = '123#217' then 3.00
     WHEN products_model = '123#258' then 3.50 
     WHEN products_model = '123#246' then 2.00          
     ELSE 'fix me' END AS wholesale_price,
     '' as total


FROM cart.orders INNER JOIN cart.orders_products ON orders.orders_id = orders_products.orders_id
 WHERE YEAR(date_purchased) = YEAR (CURDATE()) AND MONTH(date_purchased) > MONTH (CURDATE()) - 1   -- in the last month
AND cart.orders_products.products_model like '123%' 
GROUP BY products_name
ORDER BY products_name

我会查看 WITH 语句 (https://dev.mysql.com/doc/refman/8.0/en/with.html) 或子查询。然后,您可以将价格抽象为一个通用的 table 表达式,并像使用普通列一样使用结果。