[TIL] 23.03.18

문종현·2023년 3월 18일
0

TIL

목록 보기
92/119
post-custom-banner

👉 오늘 한 일

  • 프로그래머스 SQL 문제풀이

프로그래머스 SQL

1. 자동차 평균 대여 기간 구하기

  • lv 2, string & date
  • AVERAGE가 왜인지 작동하지 않아서 SUM / COUNT로 평균을 직접 구했음. start_date가 대여일을 포함하고 있으므로 +1 해줌
SELECT car_id,
    ROUND(SUM(DATEDIFF(end_date, start_date) + 1) / COUNT(car_id), 1) AS average_duration
FROM car_rental_company_rental_history
GROUP BY car_id
HAVING SUM(DATEDIFF(end_date, start_date) + 1) / COUNT(car_id) >= 7
ORDER BY average_duration DESC, car_id DESC

2. 카테고리 별 상품 개수 구하기

  • lv 2, string & date
  • 상품 코드인 앞 두자리를 추출하기 위해 LEFT 사용. 카테고리 별 개수를 세기 위해 product_id를 COUNT
SELECT LEFT(product_code, 2) AS category,
    COUNT(product_id) AS products
FROM product
GROUP BY LEFT(product_code, 2)
ORDER BY category

3. 조건에 부합하는 중고거래 상태 조회하기

  • lv 2, string & date
  • IF문을 중첩 사용해서 3개 이상의 조건 처리
SELECT board_id,
    writer_id,
    title,
    price,
    IF(status = "SALE", "판매중", IF(status = "RESERVED", "예약중", "거래완료"))
FROM used_goods_board
WHERE DATE_FORMAT(created_date, "%Y-%m-%d") = "2022-10-05"
ORDER BY board_id DESC
profile
자라나라 새싹새싹🌱
post-custom-banner

0개의 댓글