DAY12_MYSQL Group + 집계 함수

2023. 3. 20. 15:54SQL

그룹 형성하기 문법

select 그룹을 맺을 필드 or 집계함수 from 테이블명 group by 그룹을 맺을 필드 having 조건절;

예시 gender from member group by gender;

결과

예시1) 성별로 포인트 합계 구하기

select gender,sum(point) from member group by gender;

 

 

그룹 형성하기(조건을 추가해서)

select 그룹을 맺을 필드 or 집계함수 from 테이블 group by 그룹을 맺을 필드 having 조건절;

문제_ point가 0이 아닌 회원들 중에서, 남,여로 그룹을 나눠서 포인트의 평균을 구하고, 
조건:평균 포인트가 100이상인 성별을 검색하여 포인트로 내림차순 정렬

select gender, avg(point) as avg from member where point > 0 group by gender having avg > 100 order by avg desc;

 

 


집계함수

 

✔count : 행의 개수를 세는 함수
 cf)전체 인원을 알고 싶으면 : primary key가 적용된 필드를 선택 
select count(userid) as 전체인원 from member;
 주소를 입력한 인원 : null이 있기 때문에 그것을 제외하고 갯수를 셈
select count(zipcode) as 우편번호 from member;

✔sum : 행의 값을 더함
select sum(point) as 포인트합계 from member;
select userid,sum(point) as 포인트합계 from member;
 만약 userid에 무엇을 넣고 싶다면 그룹을 넣어야함.

✔avg: 행값의 평균을 구함 
select avg(point) as 평균 from member;

✔min: 행의 최소값
select min(point) as 최소값 from member;

✔max: 행의 최대값
select max(point) as 최대값 from member;
728x90

'SQL' 카테고리의 다른 글

Day12_MYSQL_데이터 정규화 + 서브쿼리  (0) 2023.03.20
DAY12_MYSQL 정렬 + limit  (1) 2023.03.20
Day12 MySQL_ foreign key + join + union  (0) 2023.03.20
SQL( AUTO_INCREMET)  (0) 2023.03.19
Day11 연산자와 데이터 검색, 정렬  (0) 2023.03.17