반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 비지니스 레이어
- 주니어개발자
- 춥고더운우리집
- 프로그래머스 특정 문자 제거하기
- 리트허브 사용법
- 프레젠테이션 레이어
- Programmers 배열의 유사도
- BigO notation
- 배열의 유사도 파이썬
- 파이썬 컬렉션
- 슈츠 자막
- 2-layered architecture
- collection python
- 리트허브 오류
- 리트허브 커밋
- 파이썬 특정 문자 제거하기
- 프로그래머스
- 프로그래머스 배열 회전시키기
- 가위바위보 풀이
- 춥고 더운 우리 집
- 프로그래머스 가위바위보 풀이
- programmers 배열 회전
- 특정문자 제거하기
- 프로그래머스 가위바위보
- 개발자 취준
- 프로그래머스 배열의 유사도 파이썬
- leftJoin
- 스프링 시스템 구조
- 알고리즘
- 공선옥
Archives
- Today
- Total
기억보다 기록을
[Programmers] 그룹별 조건에 맞는 식당 목록 출력하기 (mysql, with 사용) 본문
반응형
Q. MEMBER_PROFILE와 REST_REVIEW 테이블에서 리뷰를 가장 많이 작성한 회원의 리뷰들을 조회하는 SQL문을 작성해주세요. 회원 이름, 리뷰 텍스트, 리뷰 작성일이 출력되도록 작성해주시고, 결과는 리뷰 작성일을 기준으로 오름차순, 리뷰 작성일이 같다면 리뷰 텍스트를 기준으로 오름차순 정렬해주세요.
source: https://school.programmers.co.kr/learn/courses/30/lessons/131124
어려웠다~ 찾아보니 이문제를 푸는 다양한 방식이 있었다.
처음 문제를 보고 직관적으로 든 생각은 서브쿼리를 쓸까? 였다. 근데 서브쿼리가 2중으로 들어가면 성능면에서 너무 좋지않을 것 같았다.
rank over()등의 윈도우 함수를 써서 푼 분들도 봤는데 그 답안도 따로 공부해야겠다.
정답이긴한데 뭔가 찜찜한.. 다음에 또 복습해야지.
궁금한 점은 댓글 주세요~
WITH topReview AS (
SELECT MEMBER_ID, COUNT(REVIEW_ID) AS reviewCnt
FROM REST_REVIEW
GROUP BY MEMBER_ID
ORDER BY reviewCnt DESC
LIMIT 1
)
SELECT A.MEMBER_NAME, C.REVIEW_TEXT
, DATE_FORMAT(C.REVIEW_DATE, '%Y-%m-%d') AS REVIEW_DATE
FROM MEMBER_PROFILE A
INNER JOIN topReview B
ON A.MEMBER_ID = B.MEMBER_ID
INNER JOIN REST_REVIEW C
ON A.MEMBER_ID = C.MEMBER_ID
ORDER BY C.REVIEW_DATE, C.REVIEW_TEXT
반응형
'Language > SQL' 카테고리의 다른 글
[Programmers] 조건에 맞는 도서와 저자 리스트 출력하기(mysql) (0) | 2023.02.05 |
---|---|
[mongoDB] 간단한 사용 방법과 예제(cmd, postman) (0) | 2022.02.28 |
[Programmers] 아픈 동물 찾기 SELECT,LIKE (0) | 2022.02.02 |
[Programmers] 없어진 기록 찾기 LEFT OUTER JOIN (0) | 2022.02.01 |
[Programmers] select : 모든 레코드 조회하기,역순 정렬하기 (0) | 2021.07.26 |