- 레코드를 조회할 때 레코드의 수나, 합, 평균 등을 구하고자 할 때 사용하는 함수
- 형식 : 매개변수에 컬럼명이 들어간다.
- 종류 : count(), sum(), avg(), max(), min()
- 집계함수의 결과는 1건이 나온다. 따라서 일반 칼럼과 같이 쓸수 없고 집계 함수끼리만 써야 한다.
-> 단일 그룹의 그룹 함수가 아닙니다 라는 오류가 나옴 - 모든 도서의 가격의 총합을
select sum(price) from book;
- count(A칼럼이름) = A칼럼의 값이 null이 아닌 레코드 수
- count(*)= 모든 레코드 수 카운팅
예제
- 이상미디어에서 출간하는 도서의 평균 가격 출력
select avg(price) from book
where publisher='이상미디어';
- 박지성 고객이 주문한 총 건수와 총 주문 금액
select count(*) packcount, sum(saleprice)
from orders o, customer c
where o.custid = c.custid and
name='박지성';
- '축구 관련 도서의 총 도서 수와 평균가격, 최고가격, 최저가격 출력
select count(*), avg(price), max(price), min(price)
from book
where bookname like '%축구%';
- 개발 1팀에 근무하는 총 직원 수와 평균 급여 출력
select count(eno), avg(salary)
from emp e, dept d
where e.dno = d.dno and
dname = '개발1팀';
- '2024/06/01'과 '2024/06/10'사이에 주문한 건수와 총 주문 금액
select count(*) COUNT, sum(saleprice) PRICETOTAL
from orders
where orderdate between '2024/06/01' and '2024/06/10';
- 개발팀에 근무하는 직원들의 총 급여
select sum(salary)
from emp e, dept d
where e.dno = d.dno and
dname like '개발%';
실행한 결과 라벨 주기
- 한칸 띄우고 기존 selector labelname 으로 주기(위 예제 참조)
그룹별로 집계 함수 사용하기 : group by의 사용
- 결과가 출판사의 수만큼 건수가 나온다.
select avg(price) from book group by publisher;
- 여기서 출판사 이름을 나타내고 싶을 때, 아래와 같이 표시할 수 있다. 여기서 앞의 이름은 group by 에 설정한 이름만 앞에 나타낼 수 있다.
select publisher, avg(price) from book group by publisher;
'Kosta DevOps 과정 280기 > Java' 카테고리의 다른 글
데이터 베이스 having (0) | 2024.06.12 |
---|---|
DB 복습 (0) | 2024.06.12 |
DB 실습-1 (0) | 2024.06.11 |
DB- 데이터 조회하기 -2 (0) | 2024.06.11 |
DB- 데이터 조회하기 (0) | 2024.06.10 |