1. 즐겨찾기가 가장 많은 식당 정보 출력하기
![](https://velog.velcdn.com/images/yeojining5/post/c677ebb8-3f5e-49f4-b3a0-863d28e73550/image.png)
![](https://velog.velcdn.com/images/yeojining5/post/f0bc7f17-0b60-4110-af86-075e2d1a583f/image.png)
WITH MAX_DATA AS
(SELECT MAX(FAVORITES) AS MAX_FAVORITES
, FOOD_TYPE
FROM REST_INFO
GROUP BY FOOD_TYPE)
SELECT A.FOOD_TYPE, A.REST_ID, A.REST_NAME, A.FAVORITES
FROM REST_INFO A
JOIN MAX_DATA B
ON A.FOOD_TYPE = B.FOOD_TYPE
AND A.FAVORITES = B.MAX_FAVORITES
ORDER BY FOOD_TYPE DESC
SELECT FOOD_TYPE
, REST_ID
, REST_NAME
, FAVORITES
FROM (
SELECT FOOD_TYPE
, REST_ID
, FAVORITES
, REST_NAME
, RANK() OVER(PARTITION BY FOOD_TYPE ORDER BY FAVORITES DESC) RANK
FROM REST_INFO
)
WHERE RANK = 1
ORDER BY FOOD_TYPE DESC
2. 고양이와 개는 몇 마리 있을까
![](https://velog.velcdn.com/images/yeojining5/post/ff79da6d-516e-4ed1-9c0e-e2e4573a34df/image.png)
SELECT ANIMAL_TYPE
, COUNT(ANIMAL_TYPE) AS COUNT
FROM ANIMAL_INS
GROUP BY ANIMAL_TYPE
ORDER BY ANIMAL_TYPE
3. 동명 동물 수 찾기
![](https://velog.velcdn.com/images/yeojining5/post/3622296e-1c88-4d14-89a9-3e01a0c6c2ca/image.png)
![](https://velog.velcdn.com/images/yeojining5/post/3f4c5efc-036d-4618-a4d5-a1909d8775cb/image.png)
SELECT NAME
, COUNT(NAME) AS COUNT
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
HAVING COUNT(NAME) > 1
GROUP BY NAME
ORDER BY NAME
4. 년,월,성별 별 상품 구매 회원 수 구하기
![](https://velog.velcdn.com/images/yeojining5/post/031d2608-18d6-42d2-ade2-337db26ce812/image.png)
![](https://velog.velcdn.com/images/yeojining5/post/f3968afa-98a2-48b7-9154-192460681efa/image.png)
SELECT TO_CHAR(SALES_DATE, 'YYYY') AS YEAR
, TO_CHAR(SALES_DATE, 'MM') AS MONTH
, B.GENDER
, COUNT(DISTINCT A.USER_ID) AS USERS
FROM ONLINE_SALE A
JOIN USER_INFO B
ON A.USER_ID = B.USER_ID
WHERE B.GENDER IS NOT NULL
GROUP BY TO_CHAR(SALES_DATE, 'YYYY'), TO_CHAR(SALES_DATE, 'MM'), GENDER
ORDER BY YEAR, MONTH, GENDER
SELECT EXTRACT(YEAR FROM O.SALES_DATE) "YEAR"
, EXTRACT(MONTH FROM O.SALES_DATE) "MONTH"
, U.GENDER
, COUNT(DISTINCT O.USER_ID) "USERS"
FROM USER_INFO U
JOIN ONLINE_SALE O
ON U.USER_ID = O.USER_ID
WHERE U.GENDER IS NOT NULL
GROUP BY EXTRACT(YEAR FROM O.SALES_DATE)
, EXTRACT(MONTH FROM O.SALES_DATE)
, U.GENDER
ORDER BY 1, 2, 3;
5. 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기
![](https://velog.velcdn.com/images/yeojining5/post/0a2018c8-20e7-420d-8a1f-a4a1219f9573/image.png)
![](https://velog.velcdn.com/images/yeojining5/post/8e000478-522c-468b-add1-d9cf134e1647/image.png)
SELECT CAR_TYPE
, COUNT(CAR_ID) AS CARS
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE '%통풍시트%'
OR OPTIONS LIKE '%열선시트%'
OR OPTIONS LIKE '%가죽시트%'
GROUP BY CAR_TYPE
ORDER BY CAR_TYPE
6. 조건에 맞는 사용자와 총 거래금액 조회하기
![](https://velog.velcdn.com/images/yeojining5/post/d8e9cabc-3df3-4f43-97b2-73899461fd2f/image.png)
![](https://velog.velcdn.com/images/yeojining5/post/01f49cfb-cb71-4c75-8c8f-f290541cd03e/image.png)
SELECT A.USER_ID
, A.NICKNAME
, SUM(B.PRICE) AS TOTAL_SALES
FROM USED_GOODS_USER A
JOIN USED_GOODS_BOARD B
ON A.USER_ID = B.WRITER_ID
WHERE B.STATUS = 'DONE'
HAVING SUM(B.PRICE) >= 700000
GROUP BY USER_ID, NICKNAME
ORDER BY TOTAL_SALES
7. 성분으로 구분한 아이스크림 총 주문량
![](https://velog.velcdn.com/images/yeojining5/post/f34184f5-b9f4-4eaa-9ce1-0d416ad411e0/image.png)
![](https://velog.velcdn.com/images/yeojining5/post/55a4d2af-3251-4056-a74a-1e8980d21d8f/image.png)
SELECT B.INGREDIENT_TYPE
, SUM(A.TOTAL_ORDER) AS TOTAL_ORDER
FROM FIRST_HALF A
JOIN ICECREAM_INFO B
ON A.FLAVOR = B.FLAVOR
GROUP BY INGREDIENT_TYPE
ORDER BY TOTAL_ORDER
8. 카테고리 별 도서 판매량 집계하기
![](https://velog.velcdn.com/images/yeojining5/post/a605f8f1-cffc-4073-b2a0-b29c5744a261/image.png)
![](https://velog.velcdn.com/images/yeojining5/post/2a546bb8-6ced-410e-92ba-7335ca792e22/image.png)
SELECT B.CATEGORY
, SUM(A.SALES) AS TOTAL_SALES
FROM BOOK_SALES A
JOIN BOOK B
ON A.BOOK_ID = B.BOOK_ID
WHERE TO_CHAR(A.SALES_DATE, 'YYYYMM') = '202201'
GROUP BY B.CATEGORY
ORDER BY CATEGORY
9. 진료과별 총 예약 횟수 출력하기
![](https://velog.velcdn.com/images/yeojining5/post/5909f38e-d4aa-4872-bdc3-b9e4798518ef/image.png)
![](https://velog.velcdn.com/images/yeojining5/post/a24ab38e-72bb-4433-b701-6ca0bd87cbbe/image.png)
SELECT MCDP_CD AS "진료과 코드"
, COUNT(DISTINCT PT_NO) AS "5월예약건수"
FROM APPOINTMENT
WHERE TO_CHAR(APNT_YMD, 'YYYYMM') = '202205'
GROUP BY MCDP_CD
ORDER BY 2, 1
10. 저자 별 카테고리 별 매출액 집계하기
![](https://velog.velcdn.com/images/yeojining5/post/f2583638-8dd0-4851-b31f-ce5b481ed716/image.png)
![](https://velog.velcdn.com/images/yeojining5/post/0be12349-05ff-49da-88e1-2b725cc1c1d1/image.png)
SELECT B.AUTHOR_ID
, B.AUTHOR_NAME
, A.CATEGORY
, SUM(C.SALES * A.PRICE) AS TOTAL_SALES
FROM BOOK A
JOIN AUTHOR B
ON A.AUTHOR_ID = B.AUTHOR_ID
JOIN BOOK_SALES C
ON A.BOOK_ID = C.BOOK_ID
WHERE TO_CHAR(C.SALES_DATE, 'YYYYMM') = '202201'
GROUP BY B.AUTHOR_ID, B.AUTHOR_NAME, A.CATEGORY
ORDER BY AUTHOR_ID, CATEGORY DESC