랜덤sql 쿼리 (postgresql) 0 1 514

by 광어얌 [SQL Query] [2020.06.08 15:47:58]


안녕하세요 쿼리좀 여쭤볼려고 하는데요

다름아니라 아래 처럼 데이터가 존재할때

랜덤하게 데이터를 뽑아봐서 총 6개 의 데이터 결과를 보여줄려고 하는데요

조건은 아래와같이 해서 가져와야 됩니다ㅠ 원쿼리(postgresql)로 가능할까요? 고수님들 도와주세요~

참고할 만한 자료가 있으면 더욱 좋을것 같습니다!

A1, B1, C1, D1 중 랜덤하게 1개

A2, B2, C2, D2 중 랜덤하게 1개

A3, B3, C3, D3 중 랜덤하게 1개

A4, B4, C4, D4 중 랜덤하게 1개

A5, B5, C5, D5 중 랜덤하게 1개

A6, B6, C6, D6 중 랜덤하게 1개

 

code  etc
A1 A1 입니다
A2 A2 입니다
A3 A3 입니다
A4 A4 입니다
A5 A5 입니다
A6 A6 입니다
A7 A7 입니다
B1 B1 입니다
B2 B2 입니다
B3 B3 입니다
B4 B4 입니다
B5 B5 입니다
B6 B6 입니다
B7 B7 입니다
C1 C1 입니다
C2 C2 입니다
C3 C3 입니다
C4 C4 입니다
C5 C5 입니다
C6 C6 입니다
C7 C7 입니다
C8 C8 입니다

 

 

행복한 하루 되세요~

by 마농 [2020.06.08 16:20:00]
-- Oracle --
SELECT *
  FROM (SELECT code, etc
             , ROW_NUMBER() OVER(PARTITION BY SUBSTR(code, 2, 1) ORDER BY DBMS_RANDOM.VALUE) rn
          FROM t
         WHERE SUBSTR(code, 1, 1) IN ('A','B','C','D')
           AND SUBSTR(code, 2, 1) < '6'
        )
 WHERE rn = 1
;

 

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