Hal pertama adalah Anda harus menormalkan struktur Anda, singkirkan nilai yang dipisahkan koma dan gunakan tabel lain untuk menghubungkan lokasi Anda dengan tabel posting Anda, lihat normalisasi database , untuk struktur Anda saat ini yang dapat Anda lakukan adalah mendapatkan semua lokasi dari tabel Anda dan memasukkannya ke dalam tabel baru kemudian menggunakan fungsi agregat pada tabel baru Anda
CREATE TABLE locaions (cities CHAR(255)) ;
SET @S1 = CONCAT(
"INSERT INTO locaions (cities) VALUES ('",
REPLACE(
(SELECT
GROUP_CONCAT(`Location`) AS DATA
FROM
`posts`),
",",
"'),('"
),
"');"
) ;
PREPARE stmt1 FROM @s1 ;
EXECUTE stmt1 ;
Ini akan memasukkan semua lokasi dengan data berulang di tabel lokasi dan kemudian menggunakan kueri di bawah ini untuk mendapatkan jumlah yang Anda inginkan
SELECT cities,count(*)
FROM locaions
group by cities