범주의 통계를 내주는 GROUP BY

  • 동일한 범주를 같는 Data를 Group으로 묶어, 범주별 통계를 내는 것 순서 (한번에 하면 좋지만 왜 이렇게 되는지 알아야 한다.)
    1. SELECT * FROM users
      • users Table 에서 전체 목록 추출
  1. SELECT * FROM users GROUP BY name - users Table 의 name Field 를 GROUP으로 묶는다. - group 으로 묶으면서 중복된 성씨를 제외한 각 항목을 볼 수 있다. => GROUP name 이후 목록이 498개에서 54개로 줄어들게된다.

GROUP BY name 전

GROUP BY name 후

  1. SELECT name FROM users GROUP BY name - field에서 name만 추출한다.

  2. SELECT name COUNT ( * )FROM users GROUP BY name - name의 수량을 COUNT 해준다.

전체 성씨 중 ‘남’ 씨의 숫자를 알고 싶을 때

GROUP BY 가지고 놀기

MIN (최소값)

  • SELECT week, min(likes)FROM checkins group by week
  • week의 likes 의 최소값

MAX (최대값)

  • SELECT week, max(likes)FROM checkins group by week
  • week의 likes의 최대값

AVG (평균값)

  • SELECT week, avg(likes)FROM checkins group by week
  • week의 likes의 평균값
  • 평균의 자릿수 반올림 ROUND(avg(filed), 자릿수)

SUM (합계)

  • SUM( fieldName )