GROUP BY, SUM, AVG, MAX, MIN, DISTINCT 익히기

이해하기 쉽고, 장황하지 않은 자료를 기반으로 강의를 진행합니다.
잔재미코딩 소식 공유
좀더 제약없이, IT 컨텐츠를 공유하고자, 자체 온라인 사이트와, 다음 두 채널도 오픈하였습니다
응원해주시면, 곧 좋은 컨텐츠를 만들어서 공유하겠습니다
●  잔재미코딩 뉴스레터 오픈 [구독해보기]
●  잔재미코딩 유투브 오픈 [구독해보기]

4. GROUP BY, SUM, AVG, MAX, MIN, DISTINCT 익히기

mysql> select gender from students group by gender;

  • gender 로 그룹핑하고 gender룰 검색하면, gender 가 어떤 종류가 있는지 알수 있음
  • SUM(): 컬럼값의 합계
  • AVG(): 컬럼값의 평균
  • COUNT(*): 로우 수
  • 이상을 GROUP BY 기준 컬럼 으로 묶으면, 각 그룹별 평균, 합계, 로우 수도 모두 알 수 있음
In [20]:
SQL = "select gender, sum(english), avg(math), count(*) from students group by gender"
df = pd.read_sql(SQL, db)
df
Out[20]:
gender sum(english) avg(math) count(*)
0 man 278.0 63.75 4
1 woman 193.0 60.00 3
  • MAX(): 컬럼 최대값
  • MIN(): 컬럼 최소값
본 자료와 같이 IT 기술을 잘 정리하여, 온라인 강의로 제공하고 있습니다
체계적으로 전문가 레벨까지 익힐 수 있도록 온라인 강의 로드맵을 제공합니다
In [21]:
SQL = "select gender, max(english), min(math) from students group by gender"
df = pd.read_sql(SQL, db)
df
Out[21]:
gender max(english) min(math)
0 man 90 32
1 woman 87 30
  • 복합검색: gender, AVG(english), AVG(math) 를 gender 로 그룹핑하되, 그룹별 영어 평균 점수가 높은 순으로 출력하세요

연습문제 - 성별 영어, 수학, 국어 평균점수 알아보기

In [22]:
SQL = "select gender, avg(english), avg(math), avg(korean) from students group by gender"
df = pd.read_sql(SQL, db)
df
Out[22]:
gender avg(english) avg(math) avg(korean)
0 man 69.5000 63.75 52.7500
1 woman 64.3333 60.00 70.3333

연습문제 - 성별 영어, 수학, 국어 최저점수 알아보기

본 자료와 같이 IT 기술을 잘 정리하여, 온라인 강의로 제공하고 있습니다
체계적으로 전문가 레벨까지 익힐 수 있도록 온라인 강의 로드맵을 제공합니다
In [23]:
SQL = "select gender, min(english), min(math), min(korean) from students group by gender"
df = pd.read_sql(SQL, db)
df
Out[23]:
gender min(english) min(math) min(korean)
0 man 45 32 20
1 woman 30 30 60
  • DISTINCT : 특정 컬럼값 출력시 중복된 값을 출력하지 않음
In [24]:
SQL = "SELECT DISTINCT gender FROM students"
df = pd.read_sql(SQL, db)
df
Out[24]:
gender
0 man
1 woman