
1. π λ¬Έμ μ€λͺ
λ€μμ μ΄λ μλ₯ μΌνλͺ°μμ νλ§€μ€μΈ μνλ€μ μν μ 보λ₯Ό λ΄μ PRODUCT ν μ΄λΈκ³Ό μ€νλΌμΈ μν νλ§€ μ 보λ₯Ό λ΄μ OFFLINE_SALE ν μ΄λΈ μ λλ€.
PRODUCT ν μ΄λΈμ μλμ κ°μ κ΅¬μ‘°λ‘ PRODUCT_ID, PRODUCT_CODE, PRICEλ κ°κ° μν ID, μνμ½λ, νλ§€κ°λ₯Ό λνλ λλ€.
PRODUCT
Column name | Type | Nullable |
PRODUCT_ID | INTEGER | FALSE |
PRODUCT_CODE | VARCHAR(8) | FALSE |
PRICE | INTEGER | FALSE |
μν λ³λ‘ μ€λ³΅λμ§ μλ 8μ리 μνμ½λ κ°μ κ°μ§λ©°, μ 2μ리λ μΉ΄ν κ³ λ¦¬ μ½λλ₯Ό μλ―Έν©λλ€.
OFFLINE_SALE ν μ΄λΈμ μλμ κ°μ κ΅¬μ‘°λ‘ λμ΄μμΌλ©° OFFLINE_SALE_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATEλ κ°κ° μ€νλΌμΈ μν νλ§€ ID, μν ID, νλ§€λ, νλ§€μΌμ λνλ λλ€.
OFFLINE_SALE
Column name | Type | Nullable |
OFFLINE_SALE_ID | INTEGER | FALSE |
PRODUCT_ID | INTEGER | FALSE |
SALES_AMOUNT | INTEGER | FALSE |
SALES_DATE | DATE | FALSE |
λμΌν λ μ§, μν ID μ‘°ν©μ λν΄μλ νλμ νλ§€ λ°μ΄ν°λ§ μ‘΄μ¬ν©λλ€.
2. π λ¬Έμ
PRODUCT ν μ΄λΈκ³Ό OFFLINE_SALE ν μ΄λΈμμ μνμ½λ λ³ λ§€μΆμ‘(νλ§€κ° * νλ§€λ) ν©κ³λ₯Ό μΆλ ₯νλ SQLλ¬Έμ μμ±ν΄μ£ΌμΈμ.
κ²°κ³Όλ λ§€μΆμ‘μ κΈ°μ€μΌλ‘ λ΄λ¦Όμ°¨μ μ λ ¬ν΄μ£Όμκ³ λ§€μΆμ‘μ΄ κ°λ€λ©΄ μνμ½λλ₯Ό κΈ°μ€μΌλ‘ μ€λ¦μ°¨μ μ λ ¬ν΄μ£ΌμΈμ.
μμ
μλ₯Ό λ€μ΄ PRODUCT ν μ΄λΈμ΄ λ€μκ³Ό κ°κ³
PRODUCT_ID | PRODUCT_CODE | PRICE |
1 | A1000011 | 15000 |
2 | A1000045 | 8000 |
3 | C3000002 | 42000 |
OFFLINE_SALE ν μ΄λΈμ΄ λ€μκ³Ό κ°λ€λ©΄
OFFLINE_SALE_ID | PRODUCT_ID | SALES_AMOUNT | SALES_DATE |
1 | 1 | 2 | 2022-02-21 |
2 | 1 | 2 | 2022-03-02 |
3 | 3 | 3 | 2022-05-01 |
4 | 2 | 1 | 2022-05-24 |
5 | 1 | 2 | 2022-07-14 |
6 | 2 | 1 | 2022-09-22 |
κ° μν λ³ μ΄ νλ§€λκ³Ό νλ§€κ°λ λ€μκ³Ό κ°μ΅λλ€.
- PRODUCT_CODE κ° A1000011μΈ μνμ μ΄ νλ§€λμ΄ 6κ°, νλ§€κ°κ° 15,000μ
- PRODUCT_CODE κ° A1000045μΈ μνμ μ΄ νλ§€λμ΄ 2κ°, νλ§€κ°κ° 8,000μ
- PRODUCT_CODE κ° C3000002μΈ μνμ μ΄ νλ§€λμ΄ 3κ°, νλ§€κ°κ° 42,000μ
κ·Έλ¬λ―λ‘ κ° μν λ³ λ§€μΆμ‘μ κ³μ°νκ³ μ λ ¬νλ©΄ κ²°κ³Όκ° λ€μκ³Ό κ°μ΄ λμμΌ ν©λλ€.
PRODUCT_CODE | SALES |
C3000002 | 126000 |
A1000011 | 90000 |
A1000045 | 16000 |
3. π‘ μ λ΅
<code />
SELECT P.PRODUCT_CODE AS PRODUCT_CODE
, P.PRICE * OS.SALES_AMOUNT_HAP AS SALES
FROM PRODUCT P
INNER JOIN
(
SELECT PRODUCT_ID
, sum(SALES_AMOUNT) AS SALES_AMOUNT_HAP
FROM OFFLINE_SALE
GROUP BY PRODUCT_ID
) OS
ON P.PRODUCT_ID = OS.PRODUCT_ID
GROUP BY P.PRODUCT_CODE
ORDER BY SALES DESC, PRODUCT_CODE ASC;
4. π μ€ν κ²°κ³Ό
PRODUCT_CODE | SALES |
D1000000 | 504000 |
D3000001 | 425000 |
C2000000 | 360000 |
C3000003 | 330000 |
C3000001 | 305000 |
B2000001 | 288000 |
C2000001 | 279000 |
B1000000 | 260000 |
C1000000 | 255000 |
D1000001 | 248000 |
B2000002 | 240000 |
D2000001 | 230000 |
B2000000 | 210000 |
C3000000 | 184000 |
D3000000 | 164000 |
D2000000 | 140000 |
A3000002 | 128000 |
A3000000 | 120000 |
C4000002 | 105000 |
C1000001 | 102000 |
D1000002 | 102000 |
A2000001 | 84000 |
A2000002 | 66000 |
C4000001 | 65000 |
C3000002 | 57000 |
A2000000 | 54000 |
C4000000 | 54000 |
A3000001 | 45000 |
ν΄λΉ κΈμ λ¬Έμ λ‘ λ°λ‘ μ΄λνκ³ μΆμΌμλ©΄ νλ¨μ ν΄λ¦ν΄μ£ΌμΈμ.
https://school.programmers.co.kr/learn/courses/30/lessons/131533
νλ‘κ·Έλλ¨Έμ€
μ½λ μ€μ¬μ κ°λ°μ μ±μ©. μ€ν κΈ°λ°μ ν¬μ§μ λ§€μΉ. νλ‘κ·Έλλ¨Έμ€μ κ°λ°μ λ§μΆ€ν νλ‘νμ λ±λ‘νκ³ , λμ κΈ°μ κΆν©μ΄ μ λ§λ κΈ°μ λ€μ λ§€μΉ λ°μΌμΈμ.
programmers.co.kr
'Algorithm & SQL > Programmers' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νλ‘κ·Έλλ¨Έμ€ SQL] μνμ ꡬ맀ν νμ λΉμ¨ ꡬνκΈ° (0) | 2023.04.02 |
---|---|
[νλ‘κ·Έλλ¨Έμ€ SQL] μ€λ κΈ°κ° λ³΄νΈν λλ¬Ό(1) (0) | 2023.03.29 |
[νλ‘κ·Έλλ¨Έμ€ SQL] 보νΈμμμ μ€μ±νν λλ¬Ό (0) | 2023.03.27 |
[νλ‘κ·Έλλ¨Έμ€ SQL] μμλλ°μ μμμ΅λλ€ (0) | 2023.03.26 |
[νλ‘κ·Έλλ¨Έμ€ SQL] μμ΄μ§ κΈ°λ‘ μ°ΎκΈ° (0) | 2023.03.26 |