안녕하세요.
통계관련 프로그램을 하나 만들고있는데요.
쿼리문은 아래와 같습니다.
SELECT SUBSTRING(addr1,1,2) AS address
, COUNT(addr1) AS acnt
FROM member
GROUP BY SUBSTRING(mem_addr1,1,2)
ORDER BY acnt
* addr1 형태는 경기, 서울, 전북 이런식으로 구성이 됩니다.
위 쿼리의 결과값은
전북 1명
서울 1명
정보없음 3명
위와같이 출력되는데요.
위 값중에서 최고값을 가져오는 방법을 잘몰라서 문의를 드립니다. 조언좀 부탁드립니다.
감사합니다.
SELECT * FROM (SELECT SUBSTRING(addr1, 1, 2) AS address , COUNT(addr1) AS acnt , RANK() OVER(ORDER BY COUNT(addr1) DESC) rk FROM member GROUP BY SUBSTRING(addr1, 1, 2) ) a WHERE rk = 1 ;
SELECT TOP 1 WITH TIES SUBSTRING(addr1, 1, 2) AS address , COUNT(addr1) AS acnt FROM member GROUP BY SUBSTRING(addr1, 1, 2) ORDER BY acnt DESC ;