2023. 3. 2. 15:30ใlanguage/SQL
2์ฃผ์ฐจ - Group by & Order by
-Group by
๐ ๋์ผํ ๋ฒ์ฃผ๋ฅผ ๊ฐ๋ ๋ฐ์ดํฐ๋ฅผ ํ๋๋ก ๋ฌถ์ด์, ๋ฒ์ฃผ๋ณ ํต๊ณ๋ฅผ ๋ด์ฃผ๋ ๊ฒ์ ์๋ฏธ
๐ ex) select name, count(*) from users
group by name
๐ ์ฟผ๋ฆฌ๊ฐ ์คํ๋๋ ์์: from → group by → select
๐ Group by ๊ธฐ๋ฅ
- ๋์ผํ ๋ฒ์ฃผ์ ๊ฐ์ ๊ตฌํ๊ธฐ
ex) select ๋ฒ์ฃผ๋ณ๋ก ์ธ์ด์ฃผ๊ณ ์ถ์ ํ๋๋ช
, count(*) from ํ
์ด๋ธ๋ช
group by ๋ฒ์ฃผ๋ณ๋ก ์ธ์ด์ฃผ๊ณ ์ถ์ ํ๋๋ช
- ๋์ผํ ๋ฒ์ฃผ์์์ ์ต์๊ฐ ๊ตฌํ๊ธฐ
ex) select ๋ฒ์ฃผ๊ฐ ๋ด๊ธด ํ๋๋ช
, min(์ต์๊ฐ์ ์๊ณ ์ถ์ ํ๋๋ช
) from ํ
์ด๋ธ๋ช
group by ๋ฒ์ฃผ๊ฐ ๋ด๊ธด ํ๋๋ช
- ๋์ผํ ๋ฒ์ฃผ์์์ ์ต๋๊ฐ ๊ตฌํ๊ธฐ
ex) select ๋ฒ์ฃผ๊ฐ ๋ด๊ธด ํ๋๋ช
, max(์ต๋๊ฐ์ ์๊ณ ์ถ์ ํ๋๋ช
) from ํ
์ด๋ธ๋ช
group by ๋ฒ์ฃผ๊ฐ ๋ด๊ธด ํ๋๋ช
- ๋์ผํ ๋ฒ์ฃผ์ ํ๊ท ๊ตฌํ๊ธฐ
ex) select ๋ฒ์ฃผ๊ฐ ๋ด๊ธด ํ๋๋ช
, avg(ํ๊ท ๊ฐ์ ์๊ณ ์ถ์ ํ๋๋ช
) from ํ
์ด๋ธ๋ช
group by ๋ฒ์ฃผ๊ฐ ๋ด๊ธด ํ๋๋ช
- ๋์ผํ ๋ฒ์ฃผ์ ํฉ๊ณ ๊ตฌํ๊ธฐ
ex) select ๋ฒ์ฃผ๊ฐ ๋ด๊ธด ํ๋๋ช
, sum(ํฉ๊ณ๋ฅผ ์๊ณ ์ถ์ ํ๋๋ช
) from ํ
์ด๋ธ๋ช
group by ๋ฒ์ฃผ๊ฐ ๋ด๊ธด ํ๋๋ช
-Order by
๐ ์ถ๋ ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํด ์ฃผ๋ ๊ฒ์ ์๋ฏธ
๐ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ -> ex) select name, count(*) from users
group by name
order by count(*) asc
*'asc'์๋ต ๊ฐ๋ฅ(์ค๋ฆ์ฐจ์์ด ๊ธฐ๋ณธ๊ฐ์ด๊ธฐ ๋๋ฌธ)
๐ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ -> ex) select name, count(*) from users
group by name
order by count(*) desc
๐ ์ฟผ๋ฆฌ๊ฐ ์คํ๋๋ ์์: from → group by → select → order by
-๊ทธ ์ธ ์ ์ฉํ ๋ฌธ๋ฒ
๐ Alias: ์ฟผ๋ฆฌ๊ฐ ๊ธธ์ด์ง๋ฉด ํท๊ฐ๋ฆด ์ ์๊ธฐ ๋๋ฌธ์ ํผ๋์ ์ต์ํํ๊ณ
์ํ๋ ์ด๋ฆ์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๊ธฐ ์ํด ์ฌ์ฉ
'language > SQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
SQL - ์ด์ ๋ฆฌ (1) | 2023.03.02 |
---|---|
SQL - 4์ฃผ ์ฐจ(Subquery etc.) (0) | 2023.03.02 |
SQL - 3์ฃผ ์ฐจ(Join, Union etc.) (0) | 2023.03.02 |
SQL - 1์ฃผ ์ฐจ(DB, SQL, Select, Where etc.) (0) | 2023.03.02 |