Coding Planet
leetcode > 1484. Group Sold Products By The Date ๋ณธ๋ฌธ
๋ฐ์ํ
โจ ๋ฌธ์ : 1484. Group Sold Products By The Date
๐ป์ฝ๋
SELECT TO_CHAR(sell_date, 'YYYY-MM-DD') AS sell_date,
COUNT(DISTINCT product) as num_sold,
LISTAGG( product,',') WITHIN GROUP(ORDER BY product) AS products
FROM (SELECT DISTINCT sell_date, product FROM Activities)
GROUP BY sell_date
๐ฉ๐ป ํ์ด ๋ฐฉ๋ฒ
- ํด๋น ๋ ์ง์ ํ๋ฆฐ product์ ๊ฐ์, ํ๋ชฉ๋ช ์ ์์๋ด์ผ ํ๋ค.
- ' the number of different products sold ' ๋ฌธ์ ์ง์์ฌํญ์์ ํด๋น ๋ ์ง์ ํ๋ฆฐ ๋ฌผํ์ ํ๋ชฉ๋ณ๋ก ๊ตฌ๋ถํด์ ์ธ๋ผ๊ณ ํ๊ธฐ ๋๋ฌธ์ COUNT(DISTINCT product)๋ฅผ ์ฌ์ฉํ๋ค.
- ์ปฌ๋ผ์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ฒฐํ๋ ํจ์๋ MySQL์์๋ group_concat, Oracle์์๋ LISTAGG๋ฅผ ์ฌ์ฉํ๋ค.
- LISTAGG (์ปฌ๋ผ๋ช , ๊ตฌ๋ถ์)์ ํํ๋ก ์ฐ๋๋ฐ ๋ค์ WITHIN GROUP(ORDER BY)๊ฐ ํญ์ ๋ฐ๋ผ์์ผํ๋ค. ๋ง์ฝ ๊ตฌ๋ถ์๋ฅผ ๋ช ์ํ์ง ์์ ๊ฒฝ์ฐ '-' ๊ฐ ๋ํดํธ๋ก ๋ํ๋๋ค.
- SELL_DATE๊ฐ ์ค๋ณต ๋ฐ์ดํฐ๊ฐ์ ๊ฐ์ง๊ธฐ ๋๋ฌธ์ FROM ์ ์์ SELL_DATE๋ฅผ ๊ตฌ๋ถํ๋ ์๋ธ์ฟผ๋ฆฌ๋ฅผ ์ผ๋ค.
๐ ๋๋์
- ์ด๋ฒ ๋ฌธ์ ๋ ํผ์ ํ์ง ๋ชปํ๊ณ ๊ตฌ๊ธ์ ํจ์๋ฅผ ์ฐพ์๋ดค๋ค. ๋๋์ง๋ง ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ๊ทธ๋๊ทธ๋ ํจ์๋ฅผ ๊ณต๋ถํด์ผ๊ฒ ๋ค.
- leetcode์์๋ ์ปฌ๋ผ๋ช ์ ๋์๋ฌธ์๊ฐ accepted์ ์ํฅ์ ๋ฏธ์น๋ค. ์๊พธ ์ด๋ถ๋ถ์ ๊ฐ๊ณผํ๋ค. ์ ๊ฒฝ์ฐ๊ธฐ!
๋ฐ์ํ
'SQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
leetcode > 1141. User Activity for the Past 30 Days I (0) | 2023.02.06 |
---|---|
leetcode > 1527. Patients With a Condition (0) | 2023.02.06 |
leetcode > 1667. Fix Names in a Table (0) | 2023.02.06 |
leetcode > 196. Delete Duplicate Emails (0) | 2023.02.06 |
leetcode > 1873. Calculate Special Bonus (0) | 2023.02.05 |
Comments