mysql の初心者です。どなたかご教授いただければ幸いです。
よろしくお願いいたします。
テーブルが下記の通り二つあります。
area_area テーブル
id pref explaine 1 TOKYO this is tokyo1 2 TOKYO this is tokyo2 3 KANAGAWA this is kanagawa1 4 KANAGAWA this is kanagawa2 5 CHIBA this is chiba1 6 CHIBA this is chiba2
area_city テーブル
id name popularit area_id 1 AOYAMA 1 1 2 AKASAKA 1 1 3 NIPPORI 0 2 4 KURAMAE 0 2 5 YOKOSUKA 1 3 6 KAWASAKI 0 3 7 SAGAMI 1 4 8 YOKOHAMA 0 4
以前までは下記のようなコードで「県」のレコードが何件あるかを取得していました。
SELECT COUNT(a.pref) FROM area_area AS a GROUP BY a.pref; CHIBA 2 KANAGAWA 2 TOKYO 2
しかし今度は、紐づく area_city テーブルで popularity が最低でも一つある場合のみカウントしたいです。
id1の東京は AOYAMA AKASAKA と popularity が両方 1 なので count + 1
id2の東京は NIPPORI KURAMAE と popularity が両方 0 なので count + 0
id3の神奈川は YOKOSUKA は 0 で KAWASAKI が 1 なので count + 1
id4の神奈川は SAGAMI は 0 で YOKOHAMA が 1 なので count + 1
千葉はないので count 0
このことから下記のような結果が欲しいです。
CHIBA 0 KANAGAWA 2 TOKYO 1
すいませんが、どなたかご回答いただければ幸いです。
以上よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/06/09 10:54
2021/06/09 12:08
退会済みユーザー
2021/06/09 13:12
退会済みユーザー
2021/06/10 01:57