๐ 1. ๋ฌธ์ ์ค๋ช

โ 2. ์คํจํ ์๋
์์น | ํ๋ฆฐ๋ถ๋ถ | ๋ง๋ ์ฟผ๋ฆฌ | ์ค๋ช |
SELECT | AVERAGE | AVG() | ํ๊ท ๊ตฌํ๋ ํจ์ AVERAGE()๊ฐ ์๋๊ณ AVG()์ |
YEAR(YM) | YEAR(YM) AS `YEAR` | ๋ณ์นญ ์จ์ผ ํจ ์ปฌ๋ผ๋ช YEAR๋ก ์ถ๋ ฅ | |
ROUND(AVG(PM_VAL1),3) | ROUND(AVG(PM_VAL1),2) | ์์์
์งธ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผํ๋ ค๋ฉด ๋์งธ์๋ฆฌ๊น์ง ๊ฒฐ๊ณผ๊ฐ์ด ๋ํ๋์ผ ํ๋๊น ROUND(์ปฌ๋ผ๋ช , 2)๋ก ํด์ผ ํจ | |
WHERE | Location2 IS '์์' | Location2 = '์์' | IS๋ NULL ๊ฐ๊ณผ์ ๋น๊ต์์ ๋ง ์ฌ์ฉ๋จ |
ORDER BY | YEAR(YM) | YEAR | SQL์ ์คํ์์๋ ORDER BY์ ์ด ๊ฐ์ฅ ๋ง์ง๋ง์ ์คํ๋๊ธฐ ๋๋ฌธ์ ALIAS ๋ช ์ผ๋ก ์จ์ค๋ ๋๋ค ๊ผญ ๋ณ์นญ ์จ์ผํ๋ ๊ฑด ์๋ |
SELECT YEAR(YM) AS YEAR, ROUND(AVG(PM_VAL1),3) AS PM10, ROUND(AVG(PM_VAL2),3) AS PM25
FROM AIR_POLLUTION
WHERE Location2 = '์์'
GROUP BY YEAR(YM)
ORDER BY YEAR
์คํ๊ฒฐ๊ณผ๋ ๊ฒฐ๊ณผ ์ฐฝ๊ณผ ๋ง๊ฒ ๋์ค๋๋ฐ ์ปฌ๋ผ๋ช
์ด PM25๊ฐ ์๋๋ผ PM2.5๊ฐ ๋์ด์ผ ํ๋ค.

์ปฌ๋ผ๋ช ์ PM2.5๋ก ๊ณ ์น๋ฉด ์๋ฌ๋จ

์ค๋ฅ ๋ฉ์์ง
์ค๋ฅ ์ฝ๋ 1064: MySQL์์ ๊ตฌ๋ฌธ (Syntax) ์ค๋ฅ๊ฐ ๋ฐ์
"near '.5'": ์ค๋ฅ๊ฐ ๋ฐ์ํ ์์น๊ฐ .5๋ผ๋ ์์์ ๋ถ๋ถ ๊ทผ์ฒ์ ์์.
์์์ ๊ฐ์ ๋ค๋ฃฐ ๋ ์์ํ์ง ๋ชปํ ๋ฌธ๋ฒ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒ

ํด๊ฒฐ๋ฐฉ๋ฒ: ์ปฌ๋ผ๋ช
์ ์์๋ฐ์ดํ(' ')๋ก ๊ฐ์ธ์ค
์ด๋ ๊ฒ ํ๋ฉด ์์์ ๋ ๋ณ์นญ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅ
SELECT YEAR(YM) AS `YEAR`, ROUND(AVG(PM_VAL1), 3) AS PM10, ROUND(AVG(PM_VAL2), 3) AS 'PM2.5'
FROM AIR_POLLUTION
WHERE Location2 = '์์'
GROUP BY YEAR(YM)
ORDER BY `YEAR`;
์คํ๋๋ค ><


๐ฅฒ๐ฅฒ๐ฅฒ
โญ 3. ์ ๋ต์ฝ๋
๋ชจ๋ฅด๊ฒ ๋ค GG
๋ฐ๋ก ๋จ์ ์ฝ๋ ๊ฒ์
SELECT YEAR(YM) AS YEAR, ROUND(AVG(PM_VAL1),2) AS PM10, ROUND(AVG(PM_VAL2),2) AS 'PM2.5'
FROM AIR_POLLUTION
GROUP BY YEAR, LOCATION1, LOCATION2
HAVING LOCATION2 = '์์'
ORDER BY 1;
1. GROUP BY YEAR, LOCATION1, LOCATION2
- ๋ฐ์ดํฐ๋ฅผ ์ฐ๋๋ณ, ์์น๋ณ๋ก ๊ทธ๋ฃนํํ์ฌ ํ๊ท ๊ฐ์ ๊ณ์ฐ
2. HAVING LOCATION2 = '์์'
- '์์'์ด๋ผ๋ ์์น์ ๋ฐ์ดํฐ๋ง ๋จ๊ธฐ๊ณ ๋ค๋ฅธ ์์น๋ ์ ์ธ
3. ORDER BY 1
- ์ฒซ ๋ฒ์งธ ์ปฌ๋ผ์ธ YEAR ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
GROUP BY ์ ์ YEAR, LOCATION1, LOCATINON2 ์ปฌ๋ผ์ ๋ชจ๋ ๋ช ์ํด์ผ ํ๋ ์ด์
๋ฌธ์ ์์
AIR_POLLUTION ํ ์ด๋ธ์์ ์์ ์ง์ญ์ ์ฐ๋ ๋ณ ํ๊ท ๋ฏธ์ธ๋จผ์ง ์ค์ผ๋์ ํ๊ท ์ด๋ฏธ์ธ๋จผ์ง ์ค์ผ๋๋ฅผ ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์
๋ผ๊ณ ํ๊ธฐ ๋๋ฌธ์ GROUP BY ์ ์ YEAR, LOCATION1, LOCATINON2 ์ปฌ๋ผ์ ๋ชจ๋ ์ ๊ณ HAVING ์ผ๋ก ์์์ง์ญ๋ง ๊ฑธ๋ฌ๋ด์ผ ํ๋ค.
ORDER BY 1
ORDER BY 1์์ '1'์ ์ฒซ ๋ฒ์งธ ์ปฌ๋ผ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ
SELECT ์ ์์ ์ฒซ ๋ฒ์งธ๋ก ๋์ค๋ ์ปฌ๋ผ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ
๐ TMI
์ฐธ๊ณ ๋ก ์ฟผ๋ฆฌ์์ ์ปฌ๋ผ๋ช
์ YEAR์ด๋ผ๋ ๋ณ์นญ์ ์ฃผ๊ณ ์ถ๋ค๋ฉด YEAR์ ๋ฐฑํฑ(``)์ด๋ ์์๋ฐ์ดํ('')๋ก ๊ฐ์ธ์ผ ํ๋ค.
์๋ํ๋ฉด YEAR()ํจ์๊ฐ ์๊ธฐ ๋๋ฌธ์ YEAR์ MySQL์ ์์ฝ์ด์ด๋ค.
๋ด๊ฐ ์ง์ ์จ ๋ณด๋ ์ฝ๋๊ฐ ์๋์ ํ์ง๋ง ๊ท์น๋๋ก ์จ ์ฃผ๋ ๊ฒ ์ข์ ๊ฒ ๊ฐ๋ค.
