목록SQL/SQL 문제풀이 (25)
Allen's 데이터 맛집
문제 풀이 -- 7월 아이스크림 총 주문량과 상반기 아이스크림 총 주문량 합계 상위 3개 조회 SELECT FLAVOR FROM ( SELECT * FROM FIRST_HALF UNION ALL SELECT * FROM JULY ) ICECREAM GROUP BY FLAVOR ORDER BY SUM(TOTAL_ORDER) DESC LIMIT 3; 1. FIRST_HALF 테이블과 JULY 테이블을 UNION ALL을 사용하여 결합합니다. UNION ALL은 중복을 허용한 상태로 합칩니다. 2. 결합된 결과를 FLAVOR로 그룹화하고, SUM(TOTAL_ORDER)를 통해 아이스크림 총 주문량을 합산합니다. 3.ORDER BY를 사용하여 주문량이 큰 순서대로 정렬합니다. 4. LIMIT 3을 사용하여 상위..
문제 풀이 -- 8, 9, 10월에 5회 이상 렌탈된 차량 조회 SELECT EXTRACT(MONTH FROM start_date) AS month, car_id, COUNT(car_id) AS RECORDS FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY WHERE car_id IN ( SELECT car_id FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY WHERE EXTRACT(MONTH FROM start_date) IN (8, 9, 10) GROUP BY car_id HAVING COUNT(car_id) >= 5 ) AND EXTRACT(MONTH FROM start_date) IN (8, 9, 10) GROUP BY month, car_id ORDE..
문제 풀이 -- 가장 많은 조회수를 가진 중고 상품의 파일 경로 조회 SELECT CONCAT("/home/grep/src/", b.BOARD_ID, "/", f.FILE_ID, f.FILE_NAME, f.FILE_EXT) AS FILE_PATH FROM USED_GOODS_BOARD b JOIN USED_GOODS_FILE f ON b.BOARD_ID = f.BOARD_ID WHERE b.VIEWS = (SELECT MAX(VIEWS) FROM USED_GOODS_BOARD) ORDER BY f.FILE_ID DESC; 1. USED_GOODS_BOARD 테이블과 USED_GOODS_FILE 테이블을 BOARD_ID를 기준으로 조인합니다. 2. WHERE 절에서 USED_GOODS_BOARD 테이블의 ..
문제 풀이 -- 리뷰를 가장 많이 작성한 회원 찾기 WITH rm AS ( SELECT member_id, COUNT(member_id) AS count FROM rest_review GROUP BY member_id ORDER BY count DESC LIMIT 1 ) -- 가장 많은 리뷰를 작성한 회원의 리뷰 조회 SELECT m.member_name, r.review_text, DATE_FORMAT(r.review_date, '%Y-%m-%d') AS review_date FROM member_profile AS m JOIN rest_review r ON m.member_id = r.member_id JOIN rm ON r.member_id = rm.member_id ORDER BY review_d..