- 締切済み
MySQLで1つの項目に対しての集計
1つの項目内にカンマ等で区切られたデータがあります。その数を下の2種類のように集計する事って可能でしょうか? 例) KEY 項目 ----------------- 1 AAA,BBB,CCC 2 AAA,CCC 3 CCC,DDD 1) ----------------- 1 3(件) 2 2(件) 3 2(件) 2) ----------------- AAA 2(回) BBB 1(回) CCC 3(回) DDD 1(回) よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- yuji
- ベストアンサー率37% (64/169)
すみません。1)のケースのSQLを載せていませんでした。 select key1, count(*) from test group by key1 order by key1; key1 count(*) -------------- 1 3 2 2 3 2
- yuji
- ベストアンサー率37% (64/169)
これは出来ないんじゃないでしょうか? こういうことをしたいのであれば次のようなテーブルに した方がいいんじゃないでしょうか? key1 key2 data ---------------- 1 1 AAA 1 2 BBB 1 3 CCC 2 1 AAA 2 2 CCC 3 1 CCC 3 2 DDD SELECT data, COUNT(*) FROM テーブル名 GROUP BY data ORDER BY data; data count(*) ----------------- AAA 2 BBB 1 CCC 3 DDD 1
お礼
回答ありがとうございます。 やはり無理ですかね^^; 実際のデータは、数十項目で現時点で5万件くらいあるため、バラさずに出来る方法が無いかなぁって思って投稿してみました。 すみませんが、もう少し他の方からの回答待ってみます。