PostgresSQL SELECT 쿼리 관련 질문 있습니다 0 1 1,712

by 다비즈닭 [SQL Query] select 쿼리 [2019.05.03 13:52:27]


테이블 하나가 있습니다.

id name content date version seq
1 약관1 abc   1 1
2 약관2 def   2 1
3 약관3 ghi   3 2

약관 테이블입니다.

사이트 가입자에게 약관 동의화면을 보여줄 때

약관 내용이

seq 순서대로 표출되는데

만약 seq가 중복되면서 version이 다를때는

version이 높은 seq의 튜플만 가져오고 싶습니다.

그래서 결과적으로 사이트 가입자가 보는 약관 내용은

defghi입니다. 이때 version은 2개뿐만 아니라 여러개 입니다

쿼리가 너무 어렵네요

ㅜ.ㅜ

by 마농 [2019.05.07 00:19:16]
SELECT *
  FROM (SELECT id, name, content, date, version, seq
             , ROW_NUMBER() OVER(PARTITION BY seq ORDER BY version DESC) rn
          FROM t
        ) a
 WHERE rn = 1
;

 

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