我最近开始使用SQL并有一个问题。
我的第一个查询输出所有产品
SELECT
COUNT(*)
FROM
products;
我的第二个查询输出缺货产品
SELECT
COUNT(*)
FROM
products
WHERE
qty = 0;
我想计算出缺货产品的百分比。
为此我使用这个公式:
percentage = out_of_stock_products * 100 / all_products
我已经尝试过这个,但这不起作用
SELECT
(
SELECT
COUNT(*)
FROM
products
WHERE
qty = 0;
) * 100 / COUNT(*)
FROM
products;
答案 0 :(得分:4)
试试这个:
SELECT COUNT(CASE WHEN qty = 0 THEN 1 END) * 100.0 / COUNT(*)
FROM products
以上查询使用条件汇总来计算缺货产品的数量。
答案 1 :(得分:0)
试试这个;)
SELECT
SUM(IF(qty = 0, 1, 0)) * 100 / SUM(1) AS per
FROM
products;
答案 2 :(得分:0)
SELECT SUM(CASE WHEN qty = 0 THEN 1 ELSE 0 END) * 100.0 / COUNT(*) as percent
FROM products;