如何将两个SQL查询组合为一个结果?
我最近开始使用SQL,有一个问题 我的第一次查询输出所有产品如何将两个SQL查询组合为一个结果?,sql,oracle,Sql,Oracle,我最近开始使用SQL,有一个问题 我的第一次查询输出所有产品 SELECT COUNT(*) FROM products; SELECT COUNT(*) FROM products WHERE qty = 0; 我的第二个查询输出缺货产品 SELECT COUNT(*) FROM products; SELECT COUNT(*) FROM products WHERE qty = 0; 我想计算一下产品缺货的百分比 为此,我使用以下公式: 百分
SELECT
COUNT(*)
FROM
products;
SELECT
COUNT(*)
FROM
products
WHERE
qty = 0;
我的第二个查询输出缺货产品
SELECT
COUNT(*)
FROM
products;
SELECT
COUNT(*)
FROM
products
WHERE
qty = 0;
我想计算一下产品缺货的百分比
为此,我使用以下公式:
百分比=缺货产品*100/所有产品
SELECT
COUNT(*)
FROM
products;
SELECT
COUNT(*)
FROM
products
WHERE
qty = 0;
我用这个试过了,但没用
SELECT
(
SELECT
COUNT(*)
FROM
products
WHERE
qty = 0;
) * 100 / COUNT(*)
FROM
products;
试试这个:
SELECT COUNT(CASE WHEN qty = 0 THEN 1 END) * 100.0 / COUNT(*)
FROM products
上面的查询使用条件聚合来计算缺货产品的数量。试试这个;)
MySQL还是Oracle?不要标记未涉及的产品。@jarlh我使用Oracle SQL developerTanks来回答您的问题,但这对我不起作用。对不起,我的错误,我标记了mysql,但我使用oracle