현제의 현재이야기
SQL 서브쿼리 연습 본문
-- 코드를 입력하세요
SELECT MEMBER_NAME, REVIEW_TEXT, DATE_FORMAT(REVIEW_DATE, "%Y-%m-%d") AS REVIEW_DATE
FROM REST_REVIEW AS R
JOIN MEMBER_PROFILE AS P ON R.MEMBER_ID = P.MEMBER_ID
WHERE R.MEMBER_ID IN (
SELECT MEMBER_ID
FROM REST_REVIEW
GROUP BY MEMBER_ID
HAVING COUNT(*) = (
SELECT MAX(CNT)
FROM (
SELECT COUNT(*) AS CNT
FROM REST_REVIEW
GROUP BY MEMBER_ID
) AS CNT_TABLE
)
)
ORDER BY MEMBER_NAME, REVIEW_DATE, REVIEW_TEXT
- 리뷰를 가장 많이 쓴 사람을 뽑는 것
- 멤버를 그룹화하고, 그룹화 한 것 중의 개수가 맥스 카운트 인 것.
- HAVING에서는 max를 사용할 수 없기 때문에.. 서브 쿼리를 또 써야한다.
-- 코드를 입력하세요
SELECT H.FLAVOR
FROM (
SELECT SHIPMENT_ID, FLAVOR, SUM(TOTAL_ORDER) AS TOTAL_ORDER
FROM JULY
GROUP BY FLAVOR
) AS J
JOIN FIRST_HALF AS H ON H.SHIPMENT_ID = J.SHIPMENT_ID
GROUP BY FLAVOR
ORDER BY H.TOTAL_ORDER + J.TOTAL_ORDER DESC
LIMIT 3
- 7월과 상반기 판매 개수를 합친 것을 내림차순 하는 것
- JULY를 가지고 그룹화를 하고, TOTAL ORDER를 모두 더하여 하나의 줄로 만듦
- 그것과 조인을 하고 ORDER BY에 두 개를 더한 것으로 정렬한다.
'etc' 카테고리의 다른 글
[SQL] 터키어과 50주년 주문 정보 SQL문 짜기 (2) | 2023.10.18 |
---|---|
[GoLang] 잊지 말아야 할 것들 (0) | 2023.08.21 |
SQL 정리 (0) | 2023.04.23 |
AWS 1주차 (0) | 2023.01.12 |
EC2 배포 정리 (0) | 2023.01.08 |
Comments