在我的CENSUS表中,我想按国家分组,并且每个州获得县中位数和县的数量.
在psql,redshift和snowflake中,我可以这样做:
psql=> SELECT state, count(county), PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY "population2000") AS median FROM CENSUS GROUP BY state;
state | count | median
----------------------+-------+----------
Alabama | 67 | 36583
Alaska | 24 | 7296.5
Arizona | 15 | 116320
Arkansas | 75 | 20229
...
Run Code Online (Sandbox Code Playgroud)
我试图在标准的BigQuery中找到一个很好的方法来做到这一点.我注意到有没有文档的percentile_cont分析功能可用,但我必须做一些主要的黑客来让它做我想要的.
我希望能够用我收集到的正确的论点做同样的事情:
SELECT
state,
COUNT(county),
PERCENTILE_CONT(population2000,
0.5) OVER () AS `medPop`
FROM
CENSUS
GROUP BY
state;
Run Code Online (Sandbox Code Playgroud)
但是这个查询会产生错误
SELECT list expression references column population2000 which is neither grouped nor aggregated at
Run Code Online (Sandbox Code Playgroud)
我可以 …