# 산술함수

1) MAX : 최대값
select max(컬럼) from 테이블
2) MIN : 최소값
select min(컬럼) from 테이블
3) COUNT : 갯수 가져오기
select count(*) from 테이블  // 전체 데이터 갯수
select count(컬럼) from 테이블 // null제외한 컬럼의 데이터 갯수
4) SUM : 합계
select sum(컬럼) from 테이블
5) AVG : 평균
select avg(컬럼) from 테이블
6) ROLLUP : 소계(요약행)
where절 자리에 group by rollup(컬럼)

ex)

  

 

총합 또는 중간 합계가 필요하다면 GROUP BY 절과 함께 ROLLUP 또는 CUBE를 사용하면 된다. 

SELECT num, groupName, SUM(price*amount) AS [비용]

FROM buyTbl

GROUP BY ROLLUP (groupName, num) ;


num은 Primary Key이며, 그룹화되지 않게 하는 효과를 위해서 넣어 준 것이다.

만약 소합계 및 총합계만 필요하다면 다음과 같이 num을 빼면 된다.



SELECT groupName, SUM(price*amount) AS [비용]

FROM buyTbl

GROUP BY ROLLUP (groupName) ;





 7) GROUPING_ID() : 한눈에 데이터인지 합계인지를 알고 싶을 때 사용하는 함수로, 함수의 결과가 0이면 데이터, 1이면 합계를 위해 추가된 열이라고 보면 된다.

SELECT groupName, SUM(price*amount) AS [비용]GROUPING_ID(groupName) AS [추가행여부]

FROM buyTbl

GROUP BY ROLLUP(groupName) ;


8) CUBE : 다차원 정보의 데이터를 요약(다차원 소계)

ex) 물품별 소합계 및 색상별 소합계를 모두 보고 싶은경우.

SELECT prodName, color, SUM(amount) AS [수량합계]

FROM cubeTbl

GROUP BY CUBE (color, prodName) ;



9) 수치연산함수
* ABS : 수식의 절대값
select abs(-100) ; 100
* ROUND : 반올림
select round(1234.567, 2), round(1234.567, -2) ; 1234.570과 1200.000 돌려줌.
* RAND : 0~1까지 임의의 숫자 랜덤.
select rand();
* POWER : 거듭제곱 값
select power (3,2) ; 3의 2제곱


'[기타SQL] > MS-SQL' 카테고리의 다른 글

sql server_ 날짜 및 시간함수 정리  (0) 2015.12.14
sql server_문자함수  (0) 2015.12.14
sql server _ 변수 활용  (0) 2015.12.07
SQL Server architecture  (0) 2015.12.04
SQL server 시스템 데이터베이스  (0) 2015.10.15
SQL server 2012 설치  (0) 2015.10.15
Print Friendly and PDF Posted by JJ*
: