최고값구하기 0 1 498

by 신의한수 [SQL Query] [2019.09.26 16:48:55]


안녕하세요.

통계관련 프로그램을 하나 만들고있는데요.

쿼리문은 아래와 같습니다.

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명

위와같이 출력되는데요.

위 값중에서 최고값을 가져오는 방법을 잘몰라서 문의를 드립니다. 조언좀 부탁드립니다.

감사합니다.

by 마농 [2019.09.26 17:45:16]
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
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입