用两个查询计算平均值

时间:2020-09-14 11:18:33

标签: sql

我想基于2个查询来计算平均值:

第一个查询:query1-返回总和

$ terraform version
Terraform v0.11.13
+ provider.aws v2.10.0

或query1

第二个查询:

select total from BRANDS_TOTAL;

或query2

如何将它们组合在一起以划分结果? 类似于:select count(distinct BRANDS) from BRANDS_TABLE; ...

1 个答案:

答案 0 :(得分:3)

您可以将它们放在FROM子句中:

select btot.total / bt.cnt_distinct
from (select total from BRANDS_TOTAL) btot cross join
     (select count(distinct BRANDS) as cnt_distinct from BRANDS_TABLE) bt;

在许多数据库中,您可以将它们放在select中:

select (select total from BRANDS_TOTAL) btot /
      (select count(distinct BRANDS) as cnt_distinct from BRANDS_TABLE)

但并非所有数据库都支持。

最后,请注意整数除法。某些数据库将1/2计算为0,而不是0.5。要解决此问题,只需将第一个值乘以* 1.0