강동구|상일동|4
강동구|둔촌동|4
Select 구 동 count(*)
Group by 구 동
해서 위와같이 집계되었는데
동일 카운터에서 한 행만 대표로 추출하려고 하는데
Max를 어찌 활용해야할까요
최종 결과는 구와 동이 각각 컬럼 결과로 나와야합니다
구|동|카운터
Max(구 +동) 을 하면 문자열이 붙어버려서 나중 조인할때
잘라야하는데 데이터자릿수가 일정하지 않은지라
딱히 방법이 생각나질 않네요
Comment 1
-
자리비움
2017.08.10 12:21
SELECT GU, DONG, CNTFROM (SELECT GU, DONG, CNT, ROW_NUM = ROW_NUMBER() OVER (PARTITION BY CNT ORDER BY CNT DESC) -- 동일 CNT 기준FROM (SELECT GU, DONG, CNT = COUNT(*)FROM (SELECT GU = '강동구', DONG = '상일동' UNION ALLSELECT GU = '강동구', DONG = '상일동' UNION ALLSELECT GU = '강동구', DONG = '상일동' UNION ALLSELECT GU = '강동구', DONG = '상일동' UNION ALLSELECT GU = '강동구', DONG = '둔촌동' UNION ALLSELECT GU = '강동구', DONG = '둔촌동' UNION ALLSELECT GU = '강동구', DONG = '둔촌동' UNION ALLSELECT GU = '강동구', DONG = '둔촌동' UNION ALLSELECT GU = '구1', DONG = '동1' UNION ALLSELECT GU = '구1', DONG = '동2' UNION ALLSELECT GU = '구1', DONG = '동3' UNION ALLSELECT GU = '구2', DONG = '동1' UNION ALLSELECT GU = '구3', DONG = '동1' UNION ALLSELECT GU = '구3', DONG = '동1') AS AGROUP BY GU, DONG) AS A) AS AWHERE A.ROW_NUM = 1