쿼리 예)
SELECT NAME, COUNT(*)
    FROM PERSON
    GROUP BY NAME
    HAVING COUNT(*) > 1 ;


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

GROUP BY

 -  특정한 컬럼의 테이터 들을 다른 데이터들과 비교해
유일한 값에 따라 무리를 짓습니다.

 - GROUP BY절을 사용하여
한 테이블의 행들을 원하는 그룹으로 나눕니다.

 - Column명을 GROUP함수와 SELECT절에 사용하고자 하는 경우 GROUP BY뒤에 Column명을
   추가 합니다.
 


SQL>SELECT b.deptno, COUNT(a.empno)
       FROM emp a, dept b
       WHERE a.deptno = b.deptno
       GROUP BY
b.deptno

DEPTNO   COUNT(*)
-------      ----------
     10          3
     20          5
     30          6

부서별로 그룹을 지은 검색 결과 값이며
부서별로 사원수를 보여줍니다. .



☞ Group By 예제

scott/tiger유저로 접속해서 실행하세요..

예제1) 부서별로 그룹하여  부서번호, 인원수, 급여의 평균, 급여의 합을 구하여 출력 하여라.
 
SQL>SELECT deptno,COUNT(*),ROUND(AVG(sal)) "급여평균", ROUND(SUM(sal)) "급여합계"
        FROM emp
        GROUP BY deptno;
 
 
   DEPTNO   COUNT(*)   급여평균   급여합계
--------- ---------- ---------- ----------
       10             3             2998         8995
       20             5             2175        10875
       30             6             1567         9400



예제2)업무별로 그룹하여  업무, 인원수,  평균 급여액, 최고 급여액, 최저 급여액 및 합계를 출력하라.
 
SQL>SELECT job, COUNT(empno) "인원수", AVG(sal) "평균급여액",
                   MAX(sal) "최고급여액", MIN(sal) "최저급여액", SUM(sal) "급여합계"
        FROM emp
        GROUP BY job
 
JOB           인원수 평균급여액 최고급여액 최저급여액   급여합계
--------- ---------- ---------- ---------- ---------- ----------
ANALYST            2        3000        3000         3000       6000
CLERK                4      1037.5        1300          800       4150
MANAGER           3        2840        2975         2695       8520
PRESIDENT         1        5000        5000         5000       5000
SALESMAN          4        1400        1600         1250       5600



 



GROUP BY의 HAVING 절

 -  WHERE절에 GROUP Function을 사용할 수 없습니다.

 -  HAVING절은 GRUOP 함수를 가지고 조건비교를 할 때 사용 합니다.

 -  WHERE → GRUOP BY → HAVING → ORDER BY순으로  쿼리문이 와야 됩니다.


 

HAVING절 예제


예제1) 사원수가 5명이 넘는 부서의 부서명과 사원수를 출력해라

SQL>SELECT b.dname, COUNT(a.empno)
        FROM emp a, dept b
        WHERE a.deptno = b.deptno
        GROUP BY dname
       
HAVING COUNT(a.empno) > 5

DNAME                                    COUNT(A.EMPNO)
-------------------------------      --------------
RESEARCH                                                6
SALES                                                      6


예제2)
전체 월급이 5000을 초과하는 각 업무에 대해서 업무와 월급여 합계를 출력하여라.
         단 판매원은 제외하고 월 급여 합계로 내림차순 정렬 하여라.
 
SQL>SELECT job, SUM(sal) "급여합계"    -- 업무와 급여 합계를 출력
        FROM emp  
        WHERE job NOT IN (’SALES’)          -- 판매원은 제외
        GROUP BY job                             -- 업무별로 Group By
        HAVING SUM(sal) > 5000               -- 전체 월급이 5000을 초과하는
        ORDER BY SUM(sal) DESC;            -- 월급여 합계로 내림차순 정렬
 
 
JOB         급여합계
--------- ----------
MANAGER        8520
ANALYST         6000
SALESMAN       5600


 

  ================================================
    * 오라클 정보공유 커뮤니티 oracleclub.com
    * http://www.oracleclub.com
    * http://www.oramaster.net
    * 강좌 작성자 : 김정식 (oramaster _at_ naver.com)
  ================================================
02 5, 2009 09:49 02 5, 2009 09:49

Trackback URL : http://develop.sunshiny.co.kr/trackback/127

Leave a comment

« Previous : 1 : ... 287 : 288 : 289 : 290 : 291 : 292 : 293 : 294 : 295 : ... 381 : Next »

Recent Posts

  1. Oracle - 바인드 변수에 대하여(테스트)
  2. Oracle - 디폴트 롤, DBA, CONNECT,...
  3. Oracle - 권한 및 롤 관리
  4. Oracle - SQL*PLUS의 SYSDBA 접근 제어
  5. Oracle - PFILE, SPFILE 에 관하여

Recent Comments

  1. 네 답글 고맙습니다. 좋은 한주 보... sunshiny 05 14,
  2. 좋은 정보 잘 살펴보고 갑니다. ememoho 05 12,
  3. 네. 고맙습니다^^ 행복한 한해 보... sunshiny 01 16,
  4. sunshiny님. 안녕하세요... 올려 주... yihans 01 16,
  5. 답글 주셔서 고맙습니다^^ 소스 복... sunshiny 01 11,

Recent Trackbacks

  1. 윈도우 cmd 명령어 팁 월풍도원(月風道院) - Delight on th... %M
  2. 파일 압축 Like RadioHead %M
  3. Mysql - mysql 설치후 Character set... 멀고 가까움이 다르기 때문 %M

Calendar

«   05 2012   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Bookmarks

  1. 위키피디아
  2. MysqlKorea
  3. Oracle All Documentation
  4. 엑셈
  5. 오라클 클럽
  6. 네이버개발자센터
  7. API - Java
  8. API - Spring
  9. Java Community
  10. Reference - Spring
  11. 스프링사용자
  12. 자바소스
  13. 자바지기
  14. Ready System
  15. Solaris Freeware
  16. Linux-Site
  17. RedHat Korea
  18. 윈디하나의 솔라나라

Site Stats

TOTAL 245406 HIT
TODAY 112 HIT
YESTERDAY 139 HIT