Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将两个SQL查询组合为一个结果?_Sql_Oracle - Fatal编程技术网

如何将两个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; 我想计算一下产品缺货的百分比 为此,我使用以下公式: 百分

我最近开始使用SQL,有一个问题

我的第一次查询输出所有产品

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