Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.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,我有一个显示总和和平均数的查询。这个总和有一些复杂的计算。我的问题几乎是这样的: SELECT (SELECT a + b - c * d FROM master) AS sum, (SELECT a + b - c * d FROM master) / 5 AS avg FROM master; 如何将总和(我已经计算过)放入一个变量(或其他方式)中,用它来求平均值,从而减少代码 我使用的是Oracle SQL developer。我想您可能想要的是: WITH sum_inf

我有一个显示总和和平均数的查询。这个总和有一些复杂的计算。我的问题几乎是这样的:

SELECT (SELECT a + b - c * d FROM master) AS sum,
       (SELECT a + b - c * d FROM master) / 5 AS avg
FROM master;
如何将总和(我已经计算过)放入一个变量(或其他方式)中,用它来求平均值,从而减少代码


我使用的是Oracle SQL developer。

我想您可能想要的是:

WITH sum_info AS (SELECT id, a + b - c * d total
                  FROM   master)
SELECT t.id,
       si.total,
       si.total/5 average
FROM   test t
       INNER JOIN sum_info si ON t.id = si.id;

我假设master.id在这里是唯一的列。如果没有关于实际问题的更多细节(例如样本输入数据和预期输出数据),很难知道这是否真的回答了您的问题。只有您可以帮助我们帮助您……

您可以使用以下方法

SELECT m.col as SUM, m.col/5 as AVG  
FROM (SELECT (a + b - c * d) col FROM master) m ;
我会用

SELECT sum(term) as sum,
       avg(term) as avg
  FROM (SELECT (a + b - c * d) AS term FROM master);
查询中的“5”是行数,对吗?如果没有,您可以使用

SELECT sum(term) as sum,
       sum(term)/count(*) as avg
  FROM (SELECT (a + b - c * d) AS term FROM master);

“这个测试台的目的是什么?”Gaj Jack Sparrow把它寄来还债。这个问题不太可能解决s。
WHERE
子句中有
a.id=b.id
,但从未引入名为
a
的关系。Oracle SQL Developer是一种通用的SQL工具,可以连接到多个不同的数据库。但是可以公平地假设您使用的是Oracle数据库,那么我不太擅长sql,我只是想用一个例子来表达我的需要。我的意思是用所选的“总和”来求平均数