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