그룹별 랜덤 추출 1 2 913

by 정충보국 [2021.07.02 16:05:37]


A, B 컬럼이 존재하는데 A컬럼으로 그룹잡아 B값을 랜덤하게 뽑고 싶습니다.

예시 테이블

A B
1
2
3
4
5
6
7
8
9

 

결과값

가  2

나  5

다  7

라  8

by 마농 [2021.07.02 16:22:23]
WITH t AS
(
SELECT '가' a, 1 b FROM dual
UNION ALL SELECT '가', 2 FROM dual
UNION ALL SELECT '가', 3 FROM dual
UNION ALL SELECT '나', 4 FROM dual
UNION ALL SELECT '나', 5 FROM dual
UNION ALL SELECT '다', 6 FROM dual
UNION ALL SELECT '다', 7 FROM dual
UNION ALL SELECT '라', 8 FROM dual
UNION ALL SELECT '라', 9 FROM dual
)
SELECT a
     , MIN(b) KEEP(DENSE_RANK FIRST ORDER BY dbms_random.value) b
  FROM t
 GROUP BY a
;

 


by 정충보국 [2021.07.02 16:35:43]

감사합니다. KEEP은 처음 알았네요

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