我有两张桌子:
桌子apartments
:
房屋编号 | 房屋_街道 |
---|---|
1 | 波莫纳 |
2 | 波莫纳 |
1 | 迪拜 |
2 | 迪拜 |
桌子streets
:
街道名称 | 总建筑数 |
---|---|
迪拜 | 无效的 |
波莫纳 | 无效的 |
我希望该列被表中每个唯一项(迪拜、波莫纳……)下的总价值streets.total_buildings
所占据。COUNT
house_no
house_street
apartments
streets.street_name
应代表house_street
表中的列apartments
,并streets.total_buidlings
应在表公寓中的每个条目时自动更新。
我尝试使用代码来提取表公寓中 house_street 下 house_no 值的数量:
SELECT count(house_street), house_street
FROM apartments
GROUP BY house_street
我得到了结果:
数数 | 房屋_街道 |
---|---|
2 | 波莫纳 |
2 | 迪拜 |
但这并不能完全解决问题吗?
streets
用视图替换表:视图的本质是它始终是最新的。
如果
house_no
已定义NOT NULL
(或者在任何情况下如果您也想计算这些空值),您可以替换count(house_no)
为count(*)
.