오후내내 SQL을 오라클로 풀고 있었는데 실행결과는 잘 나오는데
틀렸다고 나와서 구글링도 해보고 시간을 꽤나... 썼는데
똑같은 SQL을 오라클로 제출할땐 실패였는데 MySQL에선 정답으로 떠서 어이가 없던 문제.....!!!!!!!!!
열받아서 서론을 길게 적었다.
문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
리뷰를 가장 많이 작성한 회원의 <회원 이름, 리뷰 텍스트, 리뷰 작성일>을 조회하는 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 |