본문 바로가기

CS fundamentals/DB( 데이터 베이스 )

SQL - GROUP BY / AGGREGATION 기본 개념

[ Aggregation 이란? ]

  • Aggregation이란 말 그대로 여러 개의 row(tuple)들의 값을 집계하는 기능을 한다.
  • min, max, sum, avg, count와 같은 operation들이 있다.

[ Group By - Having 이란? ]

  • Group은 말그대로 tuple들을 group을 지어주는 것을 말하고
  • Having은 해당 group들에 대한 filtering을 하기 위해 사용된다.
  • 따라서 Having 은 절대로 Group  By 없이는 사용 될 수 없다는 것에 유의하자.

[ Aggregation Function 사용시 유의 해야 할 사항 ]

  • SQL에서는 기본적으로 duplicate을 제거하지 않는다. 따라서 아래의 예제 처럼 distinct를 적절하게 사용해주어야 올바른 값을 얻을 수 있다.

참조 : https://www.youtube.com/playlist?list=PLroEs25KGvwzmvIxYHRhoGTz9w8LeXek0