그룹별 최빈값을 조회하려면 어떻게 구문을 짜야 할까요?? 0 1 3,306

by 상블리 [Oracle 기초] [2019.10.19 16:01:36]


 국가별 수출코드 최빈값을 조회하고 있어요.  윗 테이블을 아래와 같이 조회 하려면 어떻게 구문을 짜야 하나요? ㅠㅠ

 

국가 수출코드
한국 71
한국 71
한국 49
일본 55
일본 55
일본 55
일본 54
대만 77
미국 80

********************************************************

국가 수출코드
한국 71
일본 55
대만 77
미국 80

 

by jkson [2019.10.21 08:44:17]
WITH T (국가, 코드) AS
(
SELECT '한국', 71 FROM DUAL UNION ALL
SELECT '한국', 71 FROM DUAL UNION ALL
SELECT '한국', 49 FROM DUAL UNION ALL
SELECT '일본', 55 FROM DUAL UNION ALL
SELECT '일본', 55 FROM DUAL UNION ALL
SELECT '일본', 55 FROM DUAL UNION ALL
SELECT '일본', 54 FROM DUAL UNION ALL
SELECT '대만', 77 FROM DUAL UNION ALL
SELECT '미국', 80 FROM DUAL 
)
SELECT 국가, 코드
  FROM
      (  
      SELECT 국가, 코드, RANK() OVER(PARTITION BY 국가 ORDER BY COUNT(1) DESC) AS RNK
        FROM T
       GROUP BY 국가, 코드
      )
 WHERE RNK = 1

 

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