๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ
๐Ÿ”ฌapplication/- Database

[SQL๋ฌธ ๊ธฐ์ดˆ] SQL-GROUP ํ•จ์ˆ˜ ์‚ฌ์šฉ๋ฒ• ๋ฐ ์ •๋ฆฌ

by Wonit 2020. 5. 19.

GROUP ํ•จ์ˆ˜

ํ…Œ์ด๋ธ” ์ „์ฒด ํ–‰์„ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ปฌ๋Ÿผ(ํŠœํ”Œ)์„ ๊ธฐ์ค€์œผ๋กœ ๊ทธ๋ฃนํ™” ํ•˜์—ฌ ๊ทธ๋ฃน ๋ณ„๋กœ ๋‹ค๋ฅธ ์†์„ฑ์„ ์ฃผ์–ด ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜
ํ†ต๊ณ„์ น์ธ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๋Š”๋ฐ ์ž์ฃผ ์‚ฌ์šฉ

 

๋‚จ๋…€ ํ‰๊ท  ํ‚ค ๊ณ„์‚ฐ

select substring(idnum, 7, 1) "์„ฑ๋ณ„"
SELECT      column, group_function(column)
FROM        table
[WHERE      condition]
[GROUP BY   group_by_expression]
[HAVING     group_condition]
  • column : GROUB BY ์ ˆ์—์„œ ๊ทธ๋ฃนํ™”ํ•œ Column๋งŒ ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ์ค‘์š”
  • GROUP BY : ์ „์ฒด ํ–‰์„ group_by_expression์„ ๊ธฐ์ค€์œผ๋กœ ๊ทธ๋ฃนํ™”
  • HAVING : GROUP BY ์ ˆ์— ์˜ํ•ด ์ƒ์„ฑ๋œ ๊ทธ๋ฃน๋ณ„๋กœ ์กฐ๊ฑด ๋ถ€์—ฌ

 

GROUP ํ•จ์ˆ˜ ์ข…๋ฅ˜

COUNT

ํ–‰์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•ด์ฃผ๋Š” ํ•จ์ˆ˜

COUNT ({* | [DISTINCT | ALL] expressions})
  • *์€ NULL์„ ํฌํ•จํ•œ ๋ชจ๋“  ํ–‰์˜ ๊ฐœ์ˆ˜
  • DISTINCT๋Š” ์ค‘๋ณต๋˜๋Š” ๊ฐ’์„ ์ œ์™ธํ•œ ํ–‰์˜ ๊ฐœ์ˆ˜
  • ALL์€ ์ค‘๋ณต๋˜๋Š” ๊ฐ’์„ ํฌํ•จํ•œ ํ–‰์˜ ๊ฐœ์ˆ˜, ๊ธฐ๋ณธ๊ฐ’์€ ALL
  • epxression ์ธ์ˆ˜์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ CHAR, VARCHAR2, NUMBER, DATE ํƒ€์ž…

MAX, MIN

  • MAX : NULL์„ ์ œ์™ธํ•œ ๋ชจ๋“  ํ–‰์—์„œ ์ตœ๋Œ€ ๊ฐ’
  • MIN : NULL์„ ์ œ์™ธํ•œ ๋ชจ๋“  ํ–‰์—์„œ ์ตœ์†Œ ๊ฐ’

SUM, AVG

  • SUM : NULL์„ ์ œ์™ธํ•œ ๋ชจ๋“  ํ–‰์˜ ํ•ฉ
  • AVG : NULL์„ ์ œ์™ธํ•œ ๋ชจ๋“  ํ–‰์˜ ํ‰๊ท  ๊ฐ’
AVG([DISTINCT | ALL] expression)
SUM([DISTINCT | ALL] expression)

expression์€ ์ˆซ์ž ํƒ€์ž…๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค.

์ถ”๊ฐ€ ํ•จ์ˆ˜

  • STDDEV : NULL์„ ์ œ์™ธํ•œ ๋ชจ๋“  ํ–‰์˜ ํ‘œ์ค€ ํŽธ์ฐจ
  • VARIANCE : NULL์„ ์ œ์™ธํ•œ ๋ชจ๋“  ํ–‰์˜ ๋ถ„์‚ฐ ๊ฐ’
  • GROUPIN : ํ•ด๋‹น ์นผ๋Ÿผ์ด ๊ทธ๋ฃน์— ์‚ฌ์šฉ๋˜์—ˆ์„์ง€ ์—ฌ๋ถ€๋ฅผ 1 ๋˜๋Š” 0์œผ๋กœ ๋ณ€ํ™˜
  • GROUPING SETS : ํ•œ ๋ฒˆ์˜ ์งˆ์˜๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ทธ๋ฃนํ™” ๊ฐ€๋Šฅ

๋Œ“๊ธ€