我有一个简单的库存表,列出了唯一的项目,每个记录都有一组“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
结果应为以下形式:
物品代码/编号列出/已售出数量/百分比/已列出价值/已售出价值/已售出百分比
答案 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