sql - 如何编写 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 ..
但它没有用。
解决方案
您可以尝试使用join
Select cnt/maxval
from
(
select type,avg(count) cnt
from table1
group by type
)A join table2 on table1.type=table2.type
推荐阅读
- openstack - OpenStack 上的 Concourse Bosh 部署为没有定义 persistent_disk 键值的工作人员创建虚拟机
- unity3d - Unity Editor 脚本用指定 GameObject 的子级填充序列化数组
- javascript - 将夜间叠加层添加到谷歌地图 api
- c++ - 是否可以使用 Wojciech Mula 算法对 __m256i 进行计数并将结果存储在 8 个 32 位字而不是 4 个 64 位字中?
- android - 包“android”中的“appComponentFactory”找不到属性的资源标识符
- python - 在 python 中使用 matplotlib 绘制频率线图
- php - 未使用 PHP 将数据添加到 JSON
- javascript - 如何处理具有嵌套跨度和 div 的可编辑 div 中的退格和删除?
- android - Android Studio:预览不显示
- sql - BCP 和格式文件错误疑难解答