์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
Tags
- ํ๋ก๊ทธ๋จ์
- ๋ฌธ์์ด ์ซ์ ๋ณํ
- ๊นํ๋ธ
- ๋ฐฑ์ค
- MAC OS
- SQL์ฝ๋ฉํ ์คํธ
- mysql
- Iterator
- ์ฝ๋ฉํ ์คํธ
- JDK
- Android Studio
- ํฌ๋งท ์ง์ ์
- ํด์
- ์๋ฐ
- homebrew
- M1
- ๊ฐ๊ฒฉ์ด ์ ์ผ ๋น์ผ ์ํ์ ์ ๋ณด ์ถ๋ ฅํ๊ธฐ
- sort์ ๋ ฌ
- ํธ๋ํฐ ๊ฐ๋ฆฌ๊ธฐ
- Eclipse
- OAuth ์ธ์ฆ
- github
- ์๊ณ ๋ฆฌ์ฆ
- ๋ ธ์ ๋ณ ํ๊ท ์ญ ์ฌ์ด ๊ฑฐ๋ฆฌ ์กฐํํ๊ธฐ
- ์๋๋ก์ด๋ ์คํ๋์ค
- HashMap
- ๋งฅ๋ถ
- Java
- 27866
- ํ๋ก๊ทธ๋๋จธ์ค
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