IT정보공유/DB

MSSQL 통계 작성할때 유용한 Group by 절의 Having

알지오™ 2018. 3. 8.

통계 쿼리문을 만들땐 group by 절이 절대적으로 필요합니다.
그런데, 이 group by 절의 옵션격인 having 절을 이용하면
더욱 용이하게 통계를 뽑을 수 있다는 사실, 알고계셨나요?

 

전 몰랐었네요.
몰라서 매번 프로그래밍으로 루프 돌려서 처리하곤 했었는데, 조건절만 있어도 할 수 있었다니..

 

//

select stc_cdma_num '전화번호', sum(stc_travel_charge) '요금' 
  from STC_travel_data
 group by stc_cdma_num  order by 2 desc  
 
// 
 

위 쿼리로 조회된 내역에서 합계금액이 20만원이 넘는 것만 조회하고 싶을때 사용하면 됩니다.
즉, group by 의 where를 거는 셈인거죠.

 

MSSQL 통계 작성할때 유용한 Group by 절의 Having

 

  

having절을 몰랐을 때는 어떻게 구했찌? 안구했나?
아무튼 직접 having 절을 이용해 쿼리 작성하여 실행을 해보는게 제일 이해가 빠를거 같습니다.

 

 

//

select stc_cdma_num '전화번호', sum(stc_travel_charge) '요금' 
  from STC_travel_data 
 group by stc_cdma_num having sum(stc_travel_charge) > 200000  
 order by 2 desc   
 
//

 

 

MSSQL 통계 작성할때 유용한 Group by 절의 Having
group by having 절

 

Having 절이 없었다면 아마도 서브쿼리 또는 여러번의 Select 구문을 통해 복잡한 쿼리를 만들어야 했겠지만, having절을 이용하여 쉽게 해결할 수 있었습니다.

 

다음 에는 Rollup 에 대해 알아보도록 하겠습니다.

 

2018/03/09 - [IT/DB] - MSSQL 통계 작성할때 유용한 Group by 절의 Rollup

 

MSSQL 통계 작성할때 유용한 Group by 절의 Rollup

통계 쿼리문을 만들땐 group by 절의 옵션격인 having 절을 이용하는 방법에 대해서 일전에 알아 보았습니다. 이번에는 그룹별 중간합계를 구할 수 있는 Rollup에 대해 알아봅시다! select stc_cdma_num '전

bigenergy.tistory.com

 

댓글

💲 추천 글