• 締切済み

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(回) よろしくお願いします。

みんなの回答

  • yuji
  • ベストアンサー率37% (64/169)
回答No.2

すみません。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)
回答No.1

これは出来ないんじゃないでしょうか? こういうことをしたいのであれば次のようなテーブルに した方がいいんじゃないでしょうか? 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

R34_666
質問者

お礼

回答ありがとうございます。 やはり無理ですかね^^; 実際のデータは、数十項目で現時点で5万件くらいあるため、バラさずに出来る方法が無いかなぁって思って投稿してみました。 すみませんが、もう少し他の方からの回答待ってみます。