수리통계 분석 코딩 실습

[프로그래머스] SQL kit - SELECT 본문

코딩테스트/SQL

[프로그래머스] SQL kit - SELECT

얼려먹는 요구르트 2025. 1. 3. 17:11

 

 

✔️ 프로그래머스 kit SELECT 14문제를 풀어보자

 

Lv1. 평균 일일 대여 요금 구하기

 

SELECT ROUND(AVG(DAILY_FEE),0) AS AVERAGE_FEE
FROM CAR_RENTAL_COMPANY_CAR
WHERE CAR_TYPE = 'SUV'

 

 

Lv1. 재구매가 일어난 상품 구하기 

* 유저 별 상품 별로 count를 하고 싶으면 group by를 묶고 싶은 순서대로 써주고 count를 적용하면 됨.

다시말해, 한 사람당 구매별 상품 수를 세는 함수가 됨. 

SELECT user_id, product_id
FROM ONLINE_SALE
GROUP BY USER_ID, PRODUCT_ID
HAVING COUNT(*) >1
ORDER BY user_id,
         product_id DESC

 

 

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

 

- 유의사항

 

1. '서울'안의 식당 목록이므로 WHERE를 사용해서 서울로 시작하는 address를 할당해야함.

2. '리뷰 평균' 값이 필요하므로 리뷰 데이터의 평균을 다 구한 후 JOIN 해주는 것이 편함. 

 

SELECT RI.REST_ID
    , RI.REST_NAME
    , RI.FOOD_TYPE
    , RI.FAVORITES
    , RI.ADDRESS
    , RV.SCORE
FROM REST_INFO as RI

JOIN (SELECT REST_ID
            ,ROUND(AVG(REVIEW_SCORE),2) AS SCORE
      FROM REST_REVIEW
      GROUP BY REST_ID
      ) as RV
ON   RI.REST_ID = RV.REST_ID

WHERE RI.ADDRESS like '서울%'
ORDER BY RV.SCORE DESC
         ,RI.FAVORITES DESC;

'코딩테스트 > SQL' 카테고리의 다른 글

[기본 문법] Select - =, !=, in, not in ,like, where  (2) 2025.01.03