首页 > 解决方案 > 如何编写 BigQuery/SQL 查询以将一个表中的列的平均值与第二个/另一个表中的列相除

问题描述

我正在从如下两个表中寻找 SQL 查询与 SELECT 的 Value1/Value2 比率。

表_1:
--------

 id  Type  Count          
            
1.   A.      2            
2.   B.      3             
3.   A.      1
4.   A.      4
5.   B.      2

表_2:

id  Type   Max 
1.   A.     10
2.   B.     10

where Value1 = SELECT  AVG(Count) FROM Table_1 GROUP BY Type

and   Value2 = SELECT Max FROM Table_2.

我试过下面的查询

WITH table1 (SELECT AVG(Count) as avg_cnt...), 
     table2 (SELECT Max as max_val....)
     SELECT table1.avg_cnt/table2.max_val
     FROM ..

但它没有用。

标签: sqlgoogle-bigquery

解决方案


您可以尝试使用join

Select cnt/maxval
from
(
select type,avg(count) cnt 
from table1
group by type
)A join table2 on table1.type=table2.type

推荐阅读