Lv4. 그룹별 조건에 맞는 식당 목록 출력하기 (MySQL)
링크: https://school.programmers.co.kr/learn/courses/30/lessons/131124?language=mysql
내가 작성한 코드
SELECT M.MEMBER_NAME, REVIEW_TEXT, DATE_FORMAT(REVIEW_DATE, '%Y-%m-%d') AS REVIEW_DATE
FROM MEMBER_PROFILE M
JOIN REST_REVIEW R
ON M.MEMBER_ID = R.MEMBER_ID
WHERE M.MEMBER_ID = (SELECT MEMBER_ID
FROM REST_REVIEW
GROUP BY MEMBER_ID
ORDER BY COUNT(*) DESC
LIMIT 1)
ORDER BY R.REVIEW_DATE ASC, R.REVIEW_TEXT ASC;
Oracle
SELECT M.MEMBER_NAME, REVIEW_TEXT, TO_CHAR(REVIEW_DATE, 'YYYY-MM-DD') AS REVIEW_DATE
FROM MEMBER_PROFILE M
JOIN REST_REVIEW R
ON M.MEMBER_ID = R.MEMBER_ID
WHERE M.MEMBER_ID = (SELECT MEMBER_ID
FROM REST_REVIEW
GROUP BY MEMBER_ID
ORDER BY COUNT(*) DESC
FETCH FIRST 1 ROWS ONLY)
ORDER BY R.REVIEW_DATE ASC, R.REVIEW_TEXT ASC;
문제 회고
1. DATE_FORMAT 지정하지 않았을 때 예시와 달리 시/분/초 단위까지 출력
- (↓ 아래 사진1 참조)
- 질문하기 창을 통해 다른 사람들이 작성한 풀이 참고
- 틀린 이유:
- 데이터베이스 내부적으로는 시간 정보까지 포함하고 있는 경우가 많음
- 문제의 요구사항대로 특정 포맷을 엄격하게 준수하지 않음
- 해결 방법:
- (MySQL) : DATE_FORMAT(컬럼명, '%Y-%m-%d')
- (Oracle) : TO_CHAR (컬럼명, 'YYYY-MM-DD')
2. 행 제한 방식 차이점
- (MySQL) LIMIT n
- (Oracle) FETCH FIRST n ROWS ONLY

'코딩테스트' 카테고리의 다른 글
| [26.03.19 코테/회고(MySQL)]-주문량이 많은 아이스크림 조회하기 (0) | 2026.03.19 |
|---|---|
| [26.03.18 코테/회고(MySQL)]-즐겨찾기가 가장 많은 식당 정보 출력하기 (0) | 2026.03.18 |
| [26.03.16 코테/회고(MySQL/Oracle)]-자동차 대여 기록 별 대여 금액 구하기 (0) | 2026.03.16 |
| [26.03.13 코테/회고(MySQL/Oracle)]-자동차 대여 기록에서 대여중/대여 가능 여부 구분하기 (0) | 2026.03.13 |
| [26.03.12 코테/회고(MySQL/Oracle)]-대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (0) | 2026.03.12 |