원본 출처 : http://korea.internet.com/channel/content.asp?nid=17481&cid=359#start
AVG
사용영역 : 평균값을 구할 때 사용한다.
사용가능 DB : Oracle, ISO/ANSI, SQL Server, MS Access
문법
AVG ( [ ALL | DISTINCT ] expression )
설명
그룹내 평균값을 구할 때 사용한다.
DISTINCT 인수를 사용하면 중복을 제외하고 평균을 구한다. ALL을 지정하면 모든 값은 평균값을 계산하며 NULL값은 제외한다.
인수를 지정하지 않을 경우 기본값으로 ALL이 지정된다.
기본예제
A.주소록의 평균 연령을 구한다.
SELECT AVG(연령) FROM 주소록
-------(결과출력)
21
B.주소록의 중복 연령을 제거한 평균을 구한다.
SELECT AVG(DISTINCT 연령) FROM 주소록
-------(결과출력)
22
C.성별 평균 연령을 구한다.
SELECT 성별, AVG(연령) FROM 주소록 GROUP BY 성별
------- -------(결과출력)
여 25
남 19
COUNT
사용영역 : 행의 수를 구할 때 사용한다.
사용가능 DB : Oracle, ISO/ANSI, SQL Server, MS Access
문법
COUNT ( [ ALL | DISTINCT ] expression )
설명
그룹내 행(레코드)의 수를 구할 때 사용한다.
단순히 행의 수를 구할때는 인수에 "*"를 지정하면 된다.
인수에 특정 열을 지정하면 지정된 열이 NULL 값인 것을 제외하고 값을 리턴한다.
"COUNT(DISTINCT A열)" 수식을 사용하면 A열의 중복된 값을 제외하고 값을 리턴한다.
인수에 아무것도 지정하지 않은 경우 ALL로 간주한다.
기본예제
A. 주소록의 모든 행(레코드)의 수를 출력한다.
SELECT COUNT(*) FROM 주소록
-------(결과출력)
6
B. 연령 열(필드)의 행의 수를 출력한다.
SELECT COUNT(연령) FROM 주소록
-------(결과출력)
5
C. 연령열의 중복된 레코드를 제거하고 행의 수를 출력한다.
SELECT COUNT(DISTINCT 연령) FROM 주소록
-------(결과출력)
4
GROUPING
사용영역 : 집계행을 판단하여 값을 반환한다.
사용가능 DB : Oracle, SQL Server
문법
GROUPING(열 이름)
설명
집계행을 판단하여 값을 반환한다.
"ROLLUP" 또는 "CUBE" 옵션을 붙여 GROUP BY를 실행하면, 집계행이 부가된다.
집계행 GROUP BY를 지정한 열 정보에는 NULL이 반환된다.
Oracle 8i, SQL Server 7.0 이상에서 지원한다.
기본예제
A. Oracle 에서는
SELECT 성별, SUM(연령), GROUPING(성별)
FROM 주소록 GROUP BY ROLLUP(성별)
-------(결과출력)
여 51 0
남 55 0
B. SQL Server 에서는
SELECT 성별, SUM(연령), GROUPING(성별)
FROM 주소록 GROUP BY 성별 WITH ROLLUP
-------(결과출력)
여 51 0
남 55 0
MAX
사용영역 : 최대값을 구한다.
사용가능 DB : Oracle, ISO/ANSI, SQL Server, MS Access
문법
MAX ( [ ALL | DISTINCT ] expression )
설명
그룹내 최대값을 구한다.
그룹내 최대값을 구하며, GROUP BY 구문을 지정하지 않으면 전체가 하나의 그룹으로 인식되어 전체에서 구한다.
수치형, 문자열형, 날짜형에 대해 최대값을 구할 수 있다.
MAX는 Null 값을 무시한다.
문자 열에 대해 MAX는 데이터 정렬 순서에서 가장 높은 값을 찾는다.
기본예제
A. 연령 열(필드)에서 최대값을 구한다.
SELECT MAX(연령) FROM 주소록
-------(결과출력)
32
B. 연령 열(주소)에서 최대값을 구한다.
SELECT COUNT(주소) FROM 주소록
-------(결과출력)
광주
C. 성별로 그룹화 한 다음 그룹별 연령의 최대값을 구한다.
SELECT 성별, MAX(연령) FROM 주소록 GROUP BY 성별
-------(결과출력)
여 32
남 21
MIN
사용영역 : 최소값을 구한다.
사용가능 DB : Oracle, ISO/ANSI, SQL Server, MS Access
문법
MIN ( [ ALL | DISTINCT ] expression )
설명
그룹내 최소값을 구한다.
그룹내 최소값을 구하며, GROUP BY 구문을 지정하지 않으면 전체가 하나의 그룹으로 인식되어 전체에서 구한다.
수치형, 문자열형, 날짜형에 대해 최대값을 구할 수 있다.
MIN는 Null 값을 무시한다.
문자 열에 대해 MAX는 데이터 정렬 순서에서 가장 낮은 값을 찾는다.
기본예제
A. 연령 열(필드)에서 최소값을 구한다.
SELECT MIN(연령) FROM 주소록
-------(결과출력)
32
B. 연령 열(주소)에서 최소값을 구한다.
SELECT MIN(주소) FROM 주소록
-------(결과출력)
광주
C. 성별로 그룹화 한 다음 그룹별 연령의 최소값을 구한다.
SELECT 성별, MIN(연령) FROM 주소록 GROUP BY 성별
-------(결과출력)
여 32
남 21
STDDEV
사용영역 : 표준편차값을 구한다.
사용가능 DB : Oracle
문법
STDDEV (열 이름)
설명
표준편차값을 구한다.
그룹내 표준편차값을 구하며, GROUP BY 구문을 지정하지 않으면 전체가 하나의 그룹으로 인식되어 전체에서 구한다.
문자열형, 날짜형은 지원하지 않으며, 수치형에 대해 표준편차를 구할 수 있다.
기본예제
A. 연령 열(필드)에서 표준편차값을 구한다.
SELECT STDDEV(연령) FROM 주소록
-------(결과출력)
6.23145
B. 성별 연령 표준편차를 구한다.
SELECT 성별, STDDEV(연령) FROM 주소록 GROUP BY 성별
-------(결과출력)
여 9.12341
남 2.30172
STDDEV
사용영역 : 표준편차값을 구한다.
사용가능 DB : SQL Server, MS Access
문법
STDEV (열 이름)
설명
표준편차값을 구한다.
그룹내 표준편차값을 구하며, GROUP BY 구문을 지정하지 않으면 전체가 하나의 그룹으로 인식되어 전체에서 구한다.
문자열형, 날짜형은 지원하지 않으며, 수치형에 대해 표준편차를 구할 수 있다.
기본예제
A. 연령 열(필드)에서 표준편차값을 구한다.
SELECT STDEV(연령) FROM 주소록
-------(결과출력)
6.23145
B. 성별 연령 표준편차를 구한다.
SELECT 성별, STDEV(연령) FROM 주소록 GROUP BY 성별
-------(결과출력)
여 9.12341
남 2.30172
STDDEVP
사용영역 : 그룹 내의 모든 값을 모집단으로 하는 표준편차값을 구한다.
사용가능 DB : SQL Server, MS Access
문법
STDEV (열 이름)
설명
그룹 내의 모든 값을 모집단으로 하는 표준편차값을 구한다.
기본예제
A. 연령 열(필드)에서 표준편차값을 구한다.
SELECT STDEVP(연령) FROM 주소록
-------(결과출력)
5.60000032
B. 성별 연령 표준편차를 구한다.
SELECT 성별, STDEV(연령) FROM 주소록 GROUP BY 성별
-------(결과출력)
여 6.5
남 1.87634
C. titles 테이블에 있는 모든 로열티 지불 값의 모집단에 대한 표준 편차를 구한다.
SELECT STDEVP(royalty)
FROM titles
SUM
사용영역 : 합계를 구할 때 사용한다.
사용가능 DB : Oracle, ISO/ANSI, SQL Server, MS Access
문법
SUM ( [ ALL | DISTINCT ] expression )
설명
그룹내 합계를 구할 때 사용한다.
DISTINCT 인수를 사용하면 중복을 제외하고 합계를 구한다. ALL을 지정하면 모든 값의 합계를 계산하며 NULL값은 제외한다.
인수를 지정하지 않을 경우 기본값으로 ALL이 지정된다.
기본예제
A.주소록의 연령 합계를 구한다.
SELECT SUM(연령) FROM 주소록
-------(결과출력)
21
B.주소록의 중복 연령을 제거한 합계를 구한다.
SELECT SUM(DISTINCT 연령) FROM 주소록
-------(결과출력)
22
C.성별 연령 합계를 구한다.
SELECT 성별, AVG(연령) FROM 주소록 GROUP BY 성별
------- -------(결과출력)
여 25
남 19
VAR
사용영역 : 분산을 구한다.
사용가능 DB : SQL Server, MS Access
문법
VAR ( expression )
설명
그룹내 분산을 구한다.
VAR가 SELECT 문의 모든 항목에서 사용되는 경우, 결과 집합의 각 값은 계산에 포함된다. VAR와 함께 사용할 수 있는 것은 숫자 열뿐이다. Null 값은 무시된다.
기본예제
다음은 titles 테이블의 모든 royalty 값에 대한 분산을 반환하는 예제이다.
사용DB : SQL Server pubs
SELECT VAR(royalty)
FROM titles
VARIANCE
사용영역 : 분산을 구한다.
사용가능 DB : Oracle
문법
VARIANCE ( expression )
설명
그룹내 분산을 구한다.
VARIANCE가 SELECT 문의 모든 항목에서 사용되는 경우, 결과 집합의 각 값은 계산에 포함된다. VARIANCE와 함께 사용할 수 있는 것은 숫자 열뿐이다. Null 값은 무시된다.
기본예제
다음은 titles 테이블의 모든 royalty 값에 대한 분산을 반환하는 예제이다.
SELECT VARIANCE(royalty)
FROM titles
VARP
사용영역 : 분산을 구한다.
사용가능 DB : SQL Server
문법
VARP ( expression )
설명
그룹내 분산을 구한다.
VARP가 SELECT 문의 모든 항목에서 사용되는 경우, 결과 집합의 각 값은 계산에 포함된다. VARP와 함께 사용할 수 있는 것은 숫자 열뿐이다. Null 값은 무시된다.
기본예제
다음은 titles 테이블의 모든 royalty 값에 대한 분산을 반환하는 예제이다.
SELECT VARP(royalty)
FROM titles
|