Skip to content

Commit fc285d1

Browse files
committed
Programmers Solution
- SQL
1 parent ed3c131 commit fc285d1

4 files changed

Lines changed: 54 additions & 0 deletions

Programmers/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -392,6 +392,9 @@
392392
| 8 | [식품분류별 가장 비싼 식품의 정보 조회하기](https://school.programmers.co.kr/learn/courses/30/lessons/131116) | DATBASE | [SQL](https://github.com/SubAkBa/Algorithm_Solution/blob/master/Programmers/Solutions/Solution_%EC%8B%9D%ED%92%88%EB%B6%84%EB%A5%98%EB%B3%84%EA%B0%80%EC%9E%A5%EB%B9%84%EC%8B%BC%EC%8B%9D%ED%92%88%EC%9D%98%EC%A0%95%EB%B3%B4%EC%A1%B0%ED%9A%8C%ED%95%98%EA%B8%B0.sql) | |
393393
| 9 | [저자 별 카테고리 별 매출액 집계하기](https://school.programmers.co.kr/learn/courses/30/lessons/144856) | DATBASE | [SQL](https://github.com/SubAkBa/Algorithm_Solution/blob/master/Programmers/Solutions/Solution_%EC%A0%80%EC%9E%90%EB%B3%84%EC%B9%B4%ED%85%8C%EA%B3%A0%EB%A6%AC%EB%B3%84%EB%A7%A4%EC%B6%9C%EC%95%A1%EC%A7%91%EA%B3%84%ED%95%98%EA%B8%B0.sql) | |
394394
| 10 | [년, 월, 성별 별 상품 구매 회원 수 구하기](https://school.programmers.co.kr/learn/courses/30/lessons/131532) | DATBASE | [SQL](https://github.com/SubAkBa/Algorithm_Solution/blob/master/Programmers/Solutions/Solution_%EB%85%84%2C%EC%9B%94%2C%EC%84%B1%EB%B3%84%EB%B3%84%EC%83%81%ED%92%88%EA%B5%AC%EB%A7%A4%ED%9A%8C%EC%9B%90%EC%88%98%EA%B5%AC%ED%95%98%EA%B8%B0.sql) | |
395+
| 11 | [서울에 위치한 식당 목록 출력하기](https://school.programmers.co.kr/learn/courses/30/lessons/131118) | DATBASE | [SQL]() | |
396+
| 12 | [오프라인/온라인 판매 데이터 통합하기](https://school.programmers.co.kr/learn/courses/30/lessons/131537) | DATBASE | [SQL]() | |
397+
| 13 | [특정 세대의 대장균 찾기](https://school.programmers.co.kr/learn/courses/30/lessons/301650) | DATBASE | [SQL]() | |
395398

396399
### LEVEL 5
397400
| Idx | Question | Category | Solution | Note |
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
SELECT I.REST_ID
2+
, I.REST_NAME
3+
, I.FOOD_TYPE
4+
, I.FAVORITES
5+
, I.ADDRESS
6+
, ROUND(AVG(R.REVIEW_SCORE), 2) AS SCORE
7+
FROM REST_INFO I
8+
JOIN REST_REVIEW R ON I.REST_ID = R.REST_ID
9+
WHERE I.ADDRESS LIKE '서울%'
10+
GROUP BY I.REST_ID
11+
ORDER BY SCORE DESC, I.FAVORITES DESC;
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
WITH TEMP AS (
2+
SELECT USER_ID
3+
, PRODUCT_ID
4+
, SALES_AMOUNT
5+
, SALES_DATE
6+
FROM ONLINE_SALE
7+
WHERE SALES_DATE LIKE '2022-03%'
8+
UNION ALL
9+
SELECT NULL
10+
, PRODUCT_ID
11+
, SALES_AMOUNT
12+
, SALES_DATE
13+
FROM OFFLINE_SALE
14+
WHERE SALES_DATE LIKE '2022-03%'
15+
)
16+
SELECT DATE_FORMAT(SALES_DATE, "%Y-%m-%d") AS SALES_DATE
17+
, PRODUCT_ID
18+
, USER_ID
19+
, SUM(SALES_AMOUNT) AS SALES_AMOUNT
20+
FROM TEMP
21+
GROUP BY SALES_DATE, PRODUCT_ID, USER_ID
22+
ORDER BY SALES_DATE, PRODUCT_ID, USER_ID;
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
WITH RECURSIVE CTE AS (
2+
SELECT 1 AS N
3+
, ID
4+
, PARENT_ID
5+
FROM ECOLI_DATA
6+
WHERE PARENT_ID IS NULL
7+
UNION ALL
8+
SELECT N + 1 AS N
9+
, E.ID
10+
, C.ID
11+
FROM CTE C
12+
JOIN ECOLI_DATA E ON C.ID = E.PARENT_ID
13+
WHERE N < 3
14+
)
15+
SELECT ID
16+
FROM CTE
17+
WHERE N = 3
18+
ORDER BY ID;

0 commit comments

Comments
 (0)