(1)表(SQL Fiddle):
CREATE TABLE Sales (
Product Text,
Sales_Monetary VARCHAR(255),
Returns_Monetary VARCHAR(255)
);
INSERT INTO Sales
(Product, Sales_Monetary, Returns_Monetary)
VALUES
("Product A", "500", "300"),
("Product A", "200", "130"),
("Product A", "600", "0"),
("Product A", "900", "540"),
("Product B", "150", "70"),
("Product B", "480", "0"),
("Product B", "220", "0"),
("Product B", "300", "0"),
("Product B", "890", "670"),
("Product C", "360", "0"),
("Product C", "740", "530");
(2) 期望结果:
Sold_Items Returned_Items Return_Rate_Items
Product A 4 3 0.75
Product B 5 2 0.4
Product C 2 1 0.5
我想从上面的示例表中获得Return Rate基于。
因此,我想使用on和。
但是,当我这样做时,也会计算有退货的产品。
为了解决这个问题,我把.
不幸的是,在这种情况下,也不算在内。itemscountSales_MonetaryReturns_Monetary0WHERE Returns_Monetary > 0Sales_Monetary
Select
Product,
count(Sales_Monetary) AS Sold_Items
count(Returns_Monetary) AS Returned_Items,
count(Returns_Monetary) / count(Sales_Monetary) AS Return_Rate_Items
FROM Sales
WHERE Returns_Monetary > 0
GROUP BY 1;
我需要在查询中进行哪些更改才能使其正常工作?