前提
以下のようなデータが存在するとします
Users
ID | name | age | point | zip_coe | prefecture | address |
---|---|---|---|---|---|---|
1 | 太郎 | 10 | 100 | 163-8001 | 東京都 | 新宿区西新宿 |
2 | 次郎 | 9 | 150 | 105-8511 | 東京都 | 港区芝 |
3 | 三郎 | 11 | 200 | 104-8404 | 東京都 | 中央区築地 |
4 | 四郎 | 12 | 250 | 192-8501 | 東京都 | 八王子市元本郷町 |
5 | 五郎 | 8 | 10 | 160-0022 | 東京都 | 新宿区新宿 |
実現したいこと
point
の合計値をaddressの区または市単位
でGROUP BY
して集計したいです-
イメージは以下の形です
sum_point address 110 新宿区 150 港区 200 中央区 250 八王子市
-
試したこと
-
例えば
prefecture
を条件にする場合であれば簡単でしたsql
1 select sum(point) as sum_point, prefecture from `users` group by prefecture;
-
しかし、「
addressの区または市単位
でGROUP BY
」する方法が知識が足りずわかりませんでした- なんとなく、like句で「市または区を区切り文字にした前方一致」にてどうにかできるのかな?というアタリはあるのですが・・
-
そもそもこのような集計がSQLの技術的に可能であるのかすら不明なのですが、どなたか助力をお願いしたく投稿いたしました
補足情報(FW/ツールのバージョンなど)
MySQL 5.7



回答1件
あなたの回答
tips
プレビュー