https://school.programmers.co.kr/learn/courses/30/lessons/151139
대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기
- 대여 시작일을 기준으로 2022년 8월부터 2022년 10월까지 총 대여 횟수가 5회 이상인 자동차들에 대해
- 해당 기간 동안의 월별 자동차 ID 별 총 대여 횟수 리스트를 출력
- 월을 기준으로 오름차순 정렬, 월이 같다면 자동차 ID를 기준으로 내림차순 정렬
- 특정 월의 총 대여 횟수가 0인 경우에는 결과에서 제외
SELECT MONTH(START_DATE) AS MONTH, CAR_ID, COUNT(HISTORY_ID)
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE CAR_ID IN (SELECT CAR_ID
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE MONTH(START_DATE) BETWEEN 8 AND 10
GROUP BY CAR_ID
HAVING COUNT(*) > 4)
AND MONTH(START_DATE) BETWEEN 8 AND 10
GROUP BY MONTH, CAR_ID
HAVING COUNT(HISTORY_ID) > 0
ORDER BY MONTH, CAR_ID DESC
https://school.programmers.co.kr/learn/courses/30/lessons/131124
그룹별 조건에 맞는 식당 목록 출력하기
- 리뷰를 가장 많이 작성한 회원의 리뷰들을 조회
- 회원 이름, 리뷰 텍스트, 리뷰 작성일 출력
- 리뷰 작성일을 기준으로 오름차순 정렬, 리뷰 작성일이 같다면 리뷰 텍스트를 기준으로 오름차순 정렬
SELECT P.MEMBER_NAME, R.REVIEW_TEXT, DATE_FORMAT(R.REVIEW_DATE, '%Y-%m-%d') AS REVIEW_DATE
FROM MEMBER_PROFILE P JOIN REST_REVIEW R
USING (MEMBER_ID)
WHERE P.MEMBER_ID = (SELECT P.MEMBER_ID
FROM MEMBER_PROFILE P JOIN REST_REVIEW R
USING (MEMBER_ID)
GROUP BY MEMBER_ID
ORDER BY COUNT(*) DESC
LIMIT 1)
ORDER BY REVIEW_DATE, R.REVIEW_TEXT
https://school.programmers.co.kr/learn/courses/30/lessons/131537
오프라인/온라인 판매 데이터 통합하기
- 2022년 3월의 오프라인/온라인 상품 판매 데이터의 판매 날짜, 상품ID, 유저ID, 판매량을 출력
- OFFLINE_SALE 테이블의 판매 데이터의 USER_ID 값은 NULL 로 표시
- 판매일을 기준으로 오름차순 정렬, 판매일이 같다면 상품 ID를 기준으로 오름차순 정렬, 상품ID까지 같다면 유저 ID를 기준으로 오름차순 정렬
SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT
FROM ONLINE_SALE
WHERE MONTH(SALES_DATE) = 3
UNION ALL
SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') SALES_DATE, PRODUCT_ID, NULL AS USER_ID, SALES_AMOUNT
FROM OFFLINE_SALE
WHERE MONTH(SALES_DATE) = 3
ORDER BY SALES_DATE, PRODUCT_ID, USER_ID
https://school.programmers.co.kr/learn/courses/30/lessons/59413
입양 시각 구하기(2)
- 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회
- 시간대 순으로 정렬
SET @HOUR := -1;
SELECT (@HOUR := @HOUR + 1) AS HOUR,
(SELECT COUNT(*) FROM ANIMAL_OUTS WHERE HOUR(DATETIME) = @HOUR)
FROM ANIMAL_OUTS
WHERE @HOUR < 23
https://school.programmers.co.kr/learn/courses/30/lessons/164673
조건에 부합하는 중고거래 댓글 조회하기
- 2022년 10월에 작성된 게시글 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일을 조회
- 댓글 작성일을 기준으로 오름차순 정렬, 댓글 작성일이 같다면 게시글 제목을 기준으로 오름차순 정렬
SELECT B.TITLE, B.BOARD_ID, R.REPLY_ID, R.WRITER_ID, R.CONTENTS, DATE_FORMAT(R.CREATED_DATE, '%Y-%m-%d')
FROM USED_GOODS_BOARD B JOIN USED_GOODS_REPLY R
USING(BOARD_ID)
WHERE MONTH(B.CREATED_DATE) = 10
ORDER BY R.CREATED_DATE, B.TITLE
'SQL' 카테고리의 다른 글
[SQL] PROGRAMMERS SQL - 10 (0) | 2023.08.02 |
---|---|
[SQL] PROGRAMMERS SQL - 9 (0) | 2023.08.01 |
[SQL] PROGRAMMERS SQL - 8 (0) | 2023.07.31 |
[SQL] PROGRAMMERS SQL - 7 (0) | 2023.07.30 |
[SQL] PROGRAMMERS SQL - 6 (0) | 2023.07.29 |