์ ๋ฒ ํฌ์คํ ์์๋ SELECT ๋ฌธ์ ๋ค์ ์ฐ์ตํด๋ณด์๋๋ฐ์!
์ค๋์ ์ฐ์ฐ์ด ๋ค์ด๊ฐ SUM/MIN/MAX๋ฅผ ์ฐ์ตํด๋ณด๋ ค๊ณ ํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ธ SQL๋ฌธ ์์
SELECT --์ปฌ๋ผ๋ช
FROM --ํ ์ด๋ธ๋ช
WHERE --ํ ์ด๋ธ ์กฐ๊ฑด
GROUP BY --์ปฌ๋ผ๋ช
HAVING --๊ทธ๋ฃน ์กฐ๊ฑด
ORDER BY --์ปฌ๋ผ๋ช
2. SUM/MAX/MIN
https://programmers.co.kr/learn/courses/30/lessons/59415
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ต๋๊ฐ ๊ตฌํ๊ธฐ
ANIMAL_INS ํ ์ด๋ธ์ ๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ์ ์ ๋ณด๋ฅผ ๋ด์ ํ ์ด๋ธ์ ๋๋ค. ANIMAL_INS ํ ์ด๋ธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE๋ ๊ฐ๊ฐ ๋๋ฌผ์ ์์ด๋
programmers.co.kr
๋ฌธ์ 1 : MAX( )
ANIMAL_INS ํ ์ด๋ธ์ ๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ์ ์ ๋ณด๋ฅผ ๋ด์ ํ ์ด๋ธ์ ๋๋ค. ANIMAL_INS ํ ์ด๋ธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE๋ ๊ฐ๊ฐ ๋๋ฌผ์ ์์ด๋, ์๋ฌผ ์ข , ๋ณดํธ ์์์ผ, ๋ณดํธ ์์ ์ ์ํ, ์ด๋ฆ, ์ฑ๋ณ ๋ฐ ์ค์ฑํ ์ฌ๋ถ๋ฅผ ๋ํ๋ ๋๋ค.
๊ฐ์ฅ ์ต๊ทผ์ ๋ค์ด์จ ๋๋ฌผ์ ์ธ์ ๋ค์ด์๋์ง(DATETIME) ์กฐํํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์
๋ฌธ์ 1 ํ์ด
=> DATETIME์ค MAX๊ฐ์ "์๊ฐ"์ด๋ผ๋ ํ๋๋ช ์ผ๋ก ๋ฐ๊ฟ์ ํ์!
SELECT MAX(DATETIME) AS "์๊ฐ"
FROM ANIMAL_INS;
๋ฌธ์ 2 : MIN( )
๋๋ฌผ ๋ณดํธ์์ ๊ฐ์ฅ ๋จผ์ ๋ค์ด์จ ๋๋ฌผ์ ์ธ์ ๋ค์ด์๋์ง(DATETIME) ์กฐํํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์.
๋ฌธ์ 2 ํ์ด
=> ๋ฌธ์ 1์ MAX๋ฅผ MIN์ผ๋ก๋ง ๋ฐ๊ฟ์ฃผ๋ฉด ๋จ!
SELECT MIN(DATETIME) AS "์๊ฐ"
FROM ANIMAL_INS
๋ฌธ์ 3 : COUNT( )
๋๋ฌผ ๋ณดํธ์์ ๋๋ฌผ์ด ๋ช ๋ง๋ฆฌ ๋ค์ด์๋์ง ์กฐํํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์.
๋ฌธ์ 3 ํ์ด
=> ๋ฌธ์ ๋ฅผ ๋ณด์๋ง์ COUNTํจ์๊ฐ ์๊ฐ๋ฌ์ต๋๋ค..!
SELECT COUNT(*) AS "count"
FROM ANIMAL_INS
*์ฐธ๊ณ
COUNTํจ์๋ NULL๊ฐ์ ๋ฌด์ํ๊ณ ์ธ๊ธฐ ๋๋ฌธ์
NULL๊ฐ์ด ํฌํจ๋์ง ์๋ ํ๋๋ช ์ ๋ฃ์ด์ค๋ ๋๋ค.
์ด ๋ฌธ์ ์์๋ ANIMAL_IDํ๋๊ฐ NOT NULL์ด๋ฏ๋ก, COUNT(ANIMAL_ID)๋ก ํด์ค๋ ๋๋ค..!
๋ฌธ์ 4 : ์ค๋ณต ์ ๊ฑฐํ๊ธฐ
๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ์ ์ด๋ฆ์ ๋ช ๊ฐ์ธ์ง ์กฐํํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋ ์ด๋ฆ์ด NULL์ธ ๊ฒฝ์ฐ๋ ์ง๊ณํ์ง ์์ผ๋ฉฐ ์ค๋ณต๋๋ ์ด๋ฆ์ ํ๋๋ก ์นฉ๋๋ค.
๋ฌธ์ 4 ํ์ด
=> ์ค๋ณต๋๋ ์ด๋ฆ์ ํ๋๋ก ์น๋ค๊ณ ํ์ผ๋ฏ๋ก DISTINCT NAME์ ์จ์ค์ผํจ.
=> NULL์ ์ง๊ณํ์ง ์๋๋ค๊ณ ํ์ผ๋ฏ๋ก ์กฐ๊ฑด๋ฌธ์ NAME IS NOT NULL์ ์จ์ค์ผํจ.
SELECT COUNT(DISTINCT NAME) AS "count"
FROM ANIMAL_INS
WHERE NAME IS NOT NULL;
-๋์-

'๐ฌ MySQL > ๋ฌธ์ ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[MySQL] SQL ์ฝ๋ฉํ ์คํธ Day6 (0) | 2022.02.18 |
---|---|
[MySQL] SQL ์ฝ๋ฉํ ์คํธ Day5 (0) | 2022.02.17 |
[MySQL] SQL ์ฝ๋ฉํ ์คํธ Day4 (0) | 2022.02.16 |
[MySQL] SQL ์ฝ๋ฉํ ์คํธ Day3 (0) | 2022.02.15 |
[MySQL] SQL ์ฝ๋ฉํ ์คํธ Day1 (0) | 2022.02.11 |