SQL - 2์ฃผ ์ฐจ(Group by, Order by etc.)

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