SQLもなんとなーく使っているので、いつまでたっても・・・
タイトルどおりなのですが、ちょっと調べんとわかりませんでした。
テーブルのグループ別行数をカウントして別テーブルに入れる
こんな、自治体ごとに世帯名が格納されているテーブルがあるとします。
世帯名は適当です。
自治体ごとに何世帯あるかカウントして、以下のテーブルに収めたいのです。
で、以下のSQLを実行・・・
update town.town as t set households_count = ( select count(h.town_id) from town.households h where h.town_id = t.town_id group by h.town_id ) where exists ( select 1 from town.households h WHERE h.town_id = t.town_id );
実行結果
簡単だけど、すぐ忘れてしまう。