본문 바로가기
Kosta DevOps 과정 280기/Java

집계함수

by 롯슈83 2024. 6. 11.
  • 레코드를 조회할 때 레코드의 수나, 합, 평균 등을 구하고자 할 때 사용하는 함수
    • 형식 : 매개변수에 컬럼명이 들어간다.
  • 종류 : 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