Programmers/Level 4

[Programmers/Level 4] SELECT(MySQL)

보단잉 2023. 4. 7. 21:44

Level 4

서울에 위치한 식당 목록 출력하기

식당의 아이디를 기준으로 Join하고 주소가 서울로 시작하는 식당들만을 아이디를 기준으로 그룹화한다.

리뷰 평균점수는 AVG로 구하고, ROUND로 소수점 셋째 자리에서 반올림한다.

SELECT A.REST_ID, A.REST_NAME, A.FOOD_TYPE, A.FAVORITES AS FAVORITES, A.ADDRESS, ROUND(AVG(B.REVIEW_SCORE), 2) AS SCORE
FROM REST_INFO A
INNER JOIN REST_REVIEW B ON A.REST_ID = B.REST_ID
GROUP BY A.REST_ID
HAVING A.ADDRESS LIKE '서울%'
ORDER BY SCORE DESC, A.FAVORITES DESC

 

오프라인/온라인 판매 데이터 통합하기

온라인, 오프라인 판매 데이터 테이블 각각에서 2022년 3월의 판매 데이터를 UNION해서 합치고 기준에 따라 정렬한다.

(
    (
        SELECT DATE_FORMAT(A.SALES_DATE, '%Y-%m-%d') AS SALES_DATE, A.PRODUCT_ID, A.USER_ID, A.SALES_AMOUNT FROM ONLINE_SALE AS A
        WHERE YEAR(A.SALES_DATE) = 2022 AND MONTH(A.SALES_DATE) = 3
    )
    UNION 
    (
        SELECT DATE_FORMAT(B.SALES_DATE, '%Y-%m-%d') AS SALES_DATE, B.PRODUCT_ID, NULL AS USER_ID, B.SALES_AMOUNT FROM OFFLINE_SALE AS B
        WHERE YEAR(B.SALES_DATE) = 2022 AND MONTH(B.SALES_DATE) = 3
    )
)
ORDER BY SALES_DATE ASC, PRODUCT_ID ASC, USER_ID ASC

'Programmers > Level 4' 카테고리의 다른 글

[Programmers/Level 4] JOIN(MySQL)  (0) 2023.04.07