오후내내 SQL을 오라클로 풀고 있었는데 실행결과는 잘 나오는데
틀렸다고 나와서 구글링도 해보고 시간을 꽤나... 썼는데
똑같은 SQL을 오라클로 제출할땐 실패였는데 MySQL에선 정답으로 떠서 어이가 없던 문제.....!!!!!!!!!
열받아서 서론을 길게 적었다.
문제
리뷰를 가장 많이 작성한 회원의 <회원 이름, 리뷰 텍스트, 리뷰 작성일>을 조회하는 SQL을 작성한다.
결과는 리뷰 작성일을 기준으로 오름차순 정렬해서 출력한다.
풀이 (MySQL, Oracle)
SELECT IMEMBER.MEMBER_NAME
, MEM_RR.REVIEW_TEXT
, MEM_RR.REVIEW_DATE
FROM (SELECT MEM_MP.MEMBER_ID, MEM_MP.MEMBER_NAME
FROM (SELECT MEMBER_ID
, RANK() OVER (ORDER BY COUNT(MEMBER_ID) DESC) AS RNK
FROM REST_REVIEW
GROUP BY MEMBER_ID
) MEM_RNK
, MEMBER_PROFILE MEM_MP
WHERE MEM_RNK.RNK=1
AND MEM_RNK.MEMBER_ID = MEM_MP.MEMBER_ID
) IMEMBER
, REST_REVIEW MEM_RR
WHERE MEM_RR.MEMBER_ID = IMEMBER.MEMBER_ID
ORDER BY MEM_RR.REVIEW_DATE
;
리뷰 테이블에서 리뷰를 작성한 회원의 ID를 집계한 뒤 많은 순으로 랭킹을 부여했다.
MySQL 제출은 맞고 오라클은 틀리게 제출되는 이유.. 아시는 분은 댓글 부탁드립니다!!!
반응형
'Problem Solving > Programmers' 카테고리의 다른 글
프로그래머스 (Level 2) : 구명보트/ C++, Python, Greedy (2) | 2022.10.11 |
---|---|
프로그래머스 (Level 3) : 정수 삼각형/ C++, DP/ vector 최대값 *max_element, greater<>() (4) | 2022.10.11 |
프로그래머스 (Level 4) : 5월 식품들의 총매출 조회하기/ (SQL) MySQL, Oracle/ JOIN, DATETIME (0) | 2022.10.10 |
프로그래머스 (Level 2) : 전화번호 목록/ C++ (0) | 2022.10.09 |
프로그래머스 (Level 2) : 카카오프렌즈 컬러링북/ C++, BFS/ 2017 카카오코드 예선 (0) | 2022.10.09 |