我可以引用不同表上列的聚合函数吗?

问题描述 投票:0回答:1

我有两张桌子: 表“公寓”

房子号 房子_街道
1 波莫纳
2 波莫纳
1 迪拜
2 迪拜

还有桌子“街道”

街道名称 总建筑数
迪拜
波莫纳

我希望表“街道”中的“total_buildings”列被表公寓中每个独特的 house_street(迪拜、波莫纳等)下总 house_no 值的

COUNT
占据。

表格街道中的“street_name”列应代表表格公寓中的“house_street”列,表格街道中的“total_buidlings”列应根据表格公寓中的每个条目自动更新。

我尝试使用代码来提取表公寓中 house_street 下的 house_no 值的数量

SELECT count(house_street), house_street FROM apartments GROUP BY house_street
我得到结果了

房子_街道
2 波莫纳
2 迪拜

但这并不能完全解决问题吗?

database postgresql aggregate-functions
1个回答
0
投票

用视图替换桌子

streets

CREATE VIEW streets AS
SELECT house_street AS street_name, count(house_no) AS total_buildings
FROM   apartments
GROUP  BY 1;

视图的本质是它始终是最新的。

© www.soinside.com 2019 - 2024. All rights reserved.