你是說 資料類似 第一筆 新德里,台北,東京 , 第二筆 台北,東京, 高雄 ....
這樣的資料型態嗎? 如果是我 會 把資料庫 讀書來 然後 愈 explode 拆解資料. 把資料放在 php array 做計算 . 這樣會比用 mysql 做計算快多了..
找了一下 Stackoverflow
發現一個有趣的解法(雖然我不知道效率如何)
參考原始答案出處
範例
create table `citys` (
`cityString` varchar(100)
);
insert into citys values('台北,台中'),('台南,高雄,紐約'),('台北,北京'),('上海'),('新德里,台北,東京');
CREATE TABLE `temp` (city varchar(255));
SET @S1 = CONCAT("INSERT INTO temp (city) VALUES ('",REPLACE((SELECT GROUP_CONCAT( DISTINCT `cityString`) AS data FROM `citys`), ",", "'),('"),"');");
PREPARE stmt1 FROM @s1;
EXECUTE stmt1;
SELECT city, count(*) FROM temp group by city;