SELECT SUBSTRING_INDEX(address, ' ', 1) as sido,
SUBSTRING_INDEX(SUBSTRING_INDEX(address, ' ', 2), ' ', -1) as sigungu,
COUNT(*) as cnt
FROM cafes
WHERE address REGEXP '^경기도 성남시'
split 역할을 수행해주는 함수 SUBSTRING_INDEX를 사용하여 원하는 대로 문자열을 분할한다. 두 번째 띄어쓰기를 기준으로 분할한다고 했을 때, 그 이전 값들을 모두 출력하므로 결과값에 한 번 더 분할을 진행한다.
SELECT SUBSTRING_INDEX(address, ' ', 1) as sido,
SUBSTRING_INDEX(SUBSTRING_INDEX(address, ' ', 2), ' ', -1) as sigungu,
COUNT(*) as cnt
FROM cafes
GROUP BY
sido, sigungu
ORDER BY
cnt DESC