Tsi*_*use 3 postgresql postgis average
我还是sql的新手,我已经使用postgresql一周了.我有点被困了..
我正在使用NY数据集(http://workshops.opengeo.org/postgis-intro/about_data.html).
我必须找到一种方法来列出亚洲人口数量超过相应行政区平均数的所有社区,我必须显示亚洲人口的百分比.
我想到了这个:
select name, 100 * sum(c.popn_asian)/(select (avg(popn_asian)) from nyc_census_blocks group by boroname)
from nyc_neighborhoods n, nyc_census_blocks c
where (ST_Contains(n.geom, c.geom) = true )
and (sum(c.popn_asian)) > (select avg(popn_white) from nyc_census_blocks c1 group by c1.boroname)
Run Code Online (Sandbox Code Playgroud)
但我并没有大声在where子句之后使用sum显然......我想知道为什么并学习如何解决这个问题.
谢谢
select name, 100 * sum(c.popn_asian)/(select (avg(popn_asian)) from nyc_census_blocks group by boroname)
from nyc_neighborhoods n, nyc_census_blocks c
where ST_Contains(n.geom, c.geom) = true
group by name
having sum(c.popn_asian) > (select avg(popn_white) from nyc_census_blocks c1 group by c1.boroname)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3056 次 |
| 最近记录: |