我有两个表HOUSES和COUNTRIES
住宅
country_code-例如西班牙的"ES"
国家
country_code-例如西班牙的"ES"
房屋总数-示例20-在houses表中找到的西班牙"ES"的房屋总数
我需要在houses表中统计每个houses.country_code中的房屋数量,并用COUNTRIES.house_total中的总数更新国家表格
非常感谢
假设特定国家/地区的行已经存在于COUNTRIES
:中
UPDATE COUNTRIES SET houses_total =
(SELECT COUNT(*) FROM HOUSES WHERE HOUSES.country_code = 'ES')
WHERE country_code = 'ES' LIMIT 1;
未经测试,但应该有效。
使用带更新的联接:
试试下面的:
Update countries as c
left join (SELECT COUNT(*) as totalcount,country_code
FROM HOUSES
GROUP BY country_code) as tc
on c.country_code =tc.country_code
set c.houses_total =tc.totalcount