티스토리 뷰

반응형

group by 절에 사용한 함수 (decode 포함) 함수는 select 절에 기술되어 있어도
동작하지 않습니다. 즉 그룹핑할 때 한번만 수행이 됩니다.
이것을 이용하면 group 조건이 아닌 컬럼의 값을 사용할 수가 있어 손쉽게 데이터를
얻을 수 있습니다.

ex) select decode(제품코드, '1', 'xxx',
                                        '2', decode(다른컬럼, '2'', ...)
               ,
               count(*)
      from 매출
      group by  decode(제품코드, '1', 'xxx',
                                        '2', decode(다른컬럼, '2'', ...)
 
==> 예제가 딱히 생각이 나지 않아서 대충 적었습니다.
      매출 집합에서 제품코드별 거래 건수를 알고 싶은데 특정 제품은 다른 조건
      예를 들어(특판일 경우) 등등에 따라 거래 건수를 분리하고자 할 경우
      그룹핑 조건에는 없지만 위처럼 사용하면 그룹핑할때 사용할 수 있어 편리합니다.

  GROUP BY  절에 사용된 함수는 SELECT절에서 수행안됨.
  쿼리의 다양한 활용이나 성능 튜닝에서 중요한 팁이나 알아두면 유용합니다.

반응형