Postgresql 在postgres查询中重塑数据?
我在CartoDB中有两个表,一个是社区区域多边形,另一个是这些社区区域中的站点 我知道每个站点的地区(borocd),因此我可以获得每种类型站点的计数列表,包括:Postgresql 在postgres查询中重塑数据?,postgresql,Postgresql,我在CartoDB中有两个表,一个是社区区域多边形,另一个是这些社区区域中的站点 我知道每个站点的地区(borocd),因此我可以获得每种类型站点的计数列表,包括: SELECT borocd, type, count(*) FROM sites GROUP BY borocd, type 但我很难在一个查询中用类型1计数和类型2计数列更新“districts”表。我最后做了以下几点: UPDATE districts SET type1_sites = ( SELECT count(*)
SELECT borocd, type, count(*) FROM sites GROUP BY borocd, type
但我很难在一个查询中用类型1计数和类型2计数列更新“districts”表。我最后做了以下几点:
UPDATE districts
SET type1_sites = (
SELECT count(*) FROM sites
WHERE type='type1' AND districts.borocd = sites.borocd
GROUP BY borocd
)
对第二类重复这一点。但我能做得更干净些吗
UPDATE districts
SET type1_sites = (
SELECT count(*) FROM sites WHERE type='type1' AND districts.borocd = sites.borocd
),
type2_sites = (
SELECT count(*) FROM sites WHERE type='type2' AND districts.borocd = sites.borocd
);
假设type1和type2有单独的列 嗯,对。这其实有点明显。我想我太累了。