我正在尝试使用Google BigQuery确定每个州的人均医疗保险费用。
我已经有每个州的人口编号(代表总数)以及每个州的医疗保险总费用(费用)。我试图将总成本除以每个州的人口。
在查询运行时,每个条目都为null。我无疑是BigQuery和SQL的初学者。
这是我的代码:
SELECT State, Cost / Total AS PerCapita
FROM medicare.population, medicare.CostByState
GROUP BY State, PerCapita;
可能导致问题的一个原因是“状态”列存在于'population'和'CostByState'表中。不知道如何解决这个问题。
这是我的表格: population CostByState
答案 0 :(得分:3)
您似乎每个州都有一行数据,因此您只需要JOIN
。
SELECT p.State, cbs.Cost / p.Total AS PerCapita
FROM medicare.population p JOIN
medicare.CostByState cbs
ON p.state = cbs.state;
如果表每个州有多行,则只需要聚合。
答案 1 :(得分:0)
确实你需要加入。
如果这种关系是一对一的,你就是好人。但如果不是,您可能需要某种类型的聚合
总和(成本)/总和(总计)为per_capita