2

私は周りを検索し、いくつかの同様の質問を見つけましたが、私の問題を完全に解決するものは何もありませんでした. これを正確に説明しようと思います。

そこで、MySQL データベースに組織のデータがたくさんあり、テーブル内のフィールドの 1 つは、さまざまな国のパートナー組織を参照しています。この形式は次のようなものです。

会社1(中国)

Company2 (米国)

会社3(中国)

COUNT(*) と GROUP BY を使って各国のパートナー数を求めようとしているのですが、国を含むデータの部分だけでグループ化する方法がわかりません。その前の会社名は無視されます。私が見つけた最も近いものは、Oracle の regexp_replace 関数を使用していましたが、MySQL で代替を見つけることができませんでした。

4

1 に答える 1

1

国のリストがある場合は、次のようなことができます。

select c.country, count(*)
from t join
     countries c
     on t.company like concat('%(', c.country, ')%')
group by c.country
于 2013-03-22T01:03:34.140 に答える