GROUP BY는 말 그대로 그룹끼리 묶어주는 것이다.
GROUP BY 절은 집계 함수와 함께 사용한다.
집계함수는 SUM(), AVG(), MIN(), MAX(),COUNT() COUNT(DISTINCT) 가 있다.
또한 조건절 WHERE 이아닌 HAVING을 사용한다.
buy 구매 테이블 / member 회원 테이블
더해주는 집계 함수
SELECT SUM(더할 열데이터 ) + FROM + 테이블명 + GROUP BY + 그룹으로 묶어줄 기준 열
평균을 구해주는 집계 함수
SELECT AVG(평균낼 열 데이터 )+ FROM + 테이블명 + GROUP BY + 그룹으로 묶어줄 기준 열
행의 개수를 세어준다.
SELECT COUNT(개수 셀 특정 열 데이터 )+ FROM + 테이블명
SELECT COUNT(개수 셀 특정 열 데이터 )+ FROM + 테이블명 + GROUP BY + 그룹으로 묶어줄 기준 열
모든 구매내역 개수
select count(*) from buy;
연락처가 있는 회원수 조회, 특정 열의 행 데이터 개수 조회
select count(phone1) "연락처가 있는 회원 수"
from member;
SELECT + 열데이터 FROM + 테이블명 + GROUP BY + 그룹으로 묶어줄 기준 열 + HAVING + 조건
회원 그룹끼리 각 평균 구매금액이 1000원이 넘는 그룹만 조회
select mem_id "회원ID", sum(price amount) "총 구매금액"
from buy group by mem_id
having sum(price amount) > 1000;
위와 동일하나, order by 오름 차순 정렬
select mem_id "회원ID", sum(price amount) "총 구매금액"
from buy
group by mem_id
having sum(price amount) > 1000
order by sum(price * amount) desc;