Het eerste is dat je je structuur moet normaliseren, door komma's gescheiden waarden moet verwijderen en een andere tabel moet gebruiken om je locaties te relateren aan je berichtentabel. Zie Databasenormalisatie , voor uw huidige structuur kunt u alle locaties uit uw tabel halen en ze in een nieuwe tabel invoegen en vervolgens de aggregatiefunctie op uw nieuwe tabel gebruiken
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 ;
Hiermee worden alle locaties met herhaalde gegevens in de locatietabel ingevoegd en vervolgens de onderstaande zoekopdracht gebruiken om het gewenste aantal te krijgen
SELECT cities,count(*)
FROM locaions
group by cities