์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- github
- ํ๋ก๊ทธ๋๋จธ์ค
- ํธ๋ํฐ ๊ฐ๋ฆฌ๊ธฐ
- sort์ ๋ ฌ
- mysql
- ํฌ๋งท ์ง์ ์
- ์๋๋ก์ด๋ ์คํ๋์ค
- Android Studio
- homebrew
- ํ๋ก๊ทธ๋จ์
- ๊นํ๋ธ
- Java
- ํด์
- ๋งฅ๋ถ
- M1
- ์ฝ๋ฉํ ์คํธ
- 27866
- ๊ฐ๊ฒฉ์ด ์ ์ผ ๋น์ผ ์ํ์ ์ ๋ณด ์ถ๋ ฅํ๊ธฐ
- ๋ ธ์ ๋ณ ํ๊ท ์ญ ์ฌ์ด ๊ฑฐ๋ฆฌ ์กฐํํ๊ธฐ
- OAuth ์ธ์ฆ
- Iterator
- ๋ฌธ์์ด ์ซ์ ๋ณํ
- ๋ฐฑ์ค
- ์๊ณ ๋ฆฌ์ฆ
- ์๋ฐ
- SQL์ฝ๋ฉํ ์คํธ
- MAC OS
- HashMap
- Eclipse
- JDK
Archives
- Today
- Total
๊ฐ๋ฐ์ผ์ง
[MySQL] CASE WHEN / ์กฐ๊ฑด์ ๋ถํฉํ๋ ์ค๊ณ ๊ฑฐ๋ ์ํ ์กฐํํ๊ธฐ ๋ณธ๋ฌธ
SQL
[MySQL] CASE WHEN / ์กฐ๊ฑด์ ๋ถํฉํ๋ ์ค๊ณ ๊ฑฐ๋ ์ํ ์กฐํํ๊ธฐ
O'mil 2024. 5. 1. 15:31728x90
๐ ๋งํฌ
์กฐ๊ฑด์ ๋ถํฉํ๋ ์ค๊ณ ๊ฑฐ๋ ์ํ ์กฐํํ๊ธฐ
๐ ๋ฌธ์ ์ค๋ช
Table: USED_GOODS_BOARD
- 2022๋
10์ 5์ผ์ ๋ฑ๋ก๋ ์ค๊ณ ๊ฑฐ๋ ๊ฒ์๋ฌผ์ ๊ฒ์๊ธ ID, ์์ฑ์ ID, ๊ฒ์๊ธ ์ ๋ชฉ, ๊ฐ๊ฒฉ, ๊ฑฐ๋์ํ๋ฅผ ์กฐํ
๊ฑฐ๋์ํ๊ฐ SALE์ด๋ฉด ํ๋งค์ค, RESERVED์ด๋ฉด ์์ฝ์ค, DONE์ด๋ฉด ๊ฑฐ๋์๋ฃ ๋ถ๋ฅํ์ฌ ์ถ๋ ฅ
๊ฒฐ๊ณผ๋ ๊ฒ์๊ธ ID๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
๐ป ์ฝ๋
SELECT BOARD_ID, WRITER_ID, TITLE, PRICE,
FROM USED_GOODS_BOARD
WHERE CREATED_DATE LIKE '2022-10-05'
ORDER BY BOARD_ID DESC;
๐ก ๊ฒฐ๊ณผ
โ ์๋ฌธ์
- ๊ฑฐ๋์ํ๋ฅผ ํ๋งค์ค, ์์ฝ์ค, ๊ฑฐ๋์๋ฃ๋ก ๋ถ๋ฅํ์ฌ ์ถ๋ ฅํ๋ ๋ฒ์ ๋ชจ๋ฆ..
๐ CASE WHEN
- ์๋ก์ด ์ด์ ์์ฑํ๋ ๊ฒฝ์ฐ
- ์ด์ ์ง๊ณํ๋ ๊ฒฝ์ฐ(์ง๊ณํจ์์ ํจ๊ป ์ฐ์
- SELECT์ ์์ ์ฌ์ฉ
// ์๋ก์ด ์ด ์์ฑ
SELECT
CASE
WHEN ๊ธฐ์กด ์ด = ์กฐ๊ฑด1 THEN '๊ฐ1'
WHEN ๊ธฐ์กด ์ด = ์กฐ๊ฑด2 THEN '๊ฐ2'
WHEN ๊ธฐ์กด ์ด = ์กฐ๊ฑด3 THEN '๊ฐ3'
(ELSE์ด) END AS ์๋ก์ด ์ด
// ์ด ์ง๊ณ
SELECT ์ง๊ณํจ์((DISTINCT)
CASE
WHEN ๊ธฐ์กด ์ด = '์กฐ๊ฑด' THEN ์ง๊ณ ์ด (ELSE๊ฐ) END)
AS ์๋ก์ด ์ด
์์)
// ์๋ก์ด ์ด ์์ฑ
// ์์1
SELECT *,
CASE
WHEN `STATUS` = 'SALE' THEN 'ํ๋งค์ค'
WHEN `STATUS` = 'RESERVED' THEN '์์ฝ์ค'
WHEN `STATUS` = 'DONE' THEN '๊ฑฐ๋์๋ฃ'
END AS `STATUS`
FROM EXAMPLE;
// ์์2
SELECT *,
CASE
WHEN AGE BETWEEN 0 AND 7 THEN '์ด๋ฆฐ์ด'
WHEN AGE BETWEEN 8 AND 20 THEN '์ฒญ์๋
'
ELSE '์ด๋ฅธ'
END AS '๋์ด ๋ถ๋ฅ'
- ์์2์์ 'ELSE'๋ฌธ์ ๋บ๋ค๋ฉด ์ด๋ฅธ์ ํด๋นํ๋ ๋์ด๋ ๋ชจ๋ NULL์ฒ๋ฆฌ๊ฐ ๋๋ค.
๐ป ์ฝ๋
SELECT BOARD_ID, WRITER_ID, TITLE, PRICE,
CASE
WHEN `STATUS` = 'SALE' THEN 'ํ๋งค์ค'
WHEN `STATUS` = 'RESERVED' THEN '์์ฝ์ค'
WHEN `STATUS` = 'DONE' THEN '๊ฑฐ๋์๋ฃ'
END AS `STATUS`
FROM USED_GOODS_BOARD
WHERE CREATED_DATE LIKE '2022-10-05'
ORDER BY BOARD_ID DESC;
๐ก ๊ฒฐ๊ณผ
๐Reference
https://suy379.tistory.com/110
728x90
'SQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Comments