SQL 그룹함수 (count, avg)

2013.04.07 21:20

ㅇ count

컬럼의 수를 반환

기본적으로 NULL 값을 제외하고 카운트

*를 사용하는 경우 NULL값 포함하여 카운트

SQL> insert into emp(empno, ename, job) values(7999, 'Park', 'CLERK')  // test data


1 개의 행이 만들어졌습니다.


SQL> select count(*) from emp;                  // null 값을 포함하여 카운트


  COUNT(*)

----------

15


SQL> select count(sal) from emp;                // null 값을 제외하고 카운트


COUNT(SAL)

----------

14


중복값을 제외하는 distinct 사용 가능

SQL> select count(distinct deptno) from emp;


COUNT(DISTINCTDEPTNO)

---------------------

   3



ㅇ avg

평균을 구하는 함수

그룹함수들은 NULL값을 제외하고 계산하는 것을 주의

SQL> select sum(comm), count(comm), avg(comm) from emp;      //null값을 제외하고 계산


 SUM(COMM) COUNT(COMM) AVG(COMM)

---------- ----------- ----------

      2200     4      550


SQL> select sum(comm), avg(nvl(comm,0)), count(*) from emp;  //null값을 포함하여 계산


 SUM(COMM) AVG(NVL(COMM,0))   COUNT(*)

---------- ---------------- ----------

      2200 146.666667    15


nvl(expr1, expr2) 

- expr1 : null 값을 포함하는 표현식의 소스값

- expr2 : null 값을 대체할 값


 

저작자 표시
신고

또루아빠 SQL(오라클,mysql) , , ,

티스토리 툴바