计算两个MySQL SELECT语句的比率

时间:2017-11-29 22:33:15

标签: mysql

我有一个简单的库存表,列出了唯一的项目,每个记录都有一组“Item_code”。我想计算每个Item_code组中销售商品的百分比。

在PHP的3个步骤中很容易做到,但我无法弄清楚如何在一个语句中完成它。有可能吗?

(编辑以添加总和(价格)部分。)

1)

Select Item_code, count(*), sum(Price) as value1
                From Inventory 
              group 
                  by Item_Code

2)

Select Item_Code, count(*) , sum(Price) as value2
      from Inventory 
      WHERE Status like "Sold" 
       group 
          by Item_code

3)每个Item_code的销售百分比=(2)/(1)

销售百分比值= Value2 / Value1

结果应为以下形式:

物品代码/编号列出/已售出数量/百分比/已列出价值/已售出价值/已售出百分比

1 个答案:

答案 0 :(得分:1)

count忽略null个。因此,您可以使用case表达式来计算销售的商品数量,而无需使用where子句,从那里获得百分比很容易:

SELECT   item_code, 
         COUNT(*) AS listed,
         COUNT(CASE status WHEN 'Sold' THEN 1 END) AS sold,
         COUNT(CASE status WHEN 'Sold' THEN 1 END) * 100.0 / COUNT(*) AS percentage
FROM     inventory
GROUP BY item_code