- 기본적으로 NULL 값을 포함하며, 중복된 값을 포함합니다. - 이를 방지하려면 DISTINCT를 사용합니다. - 예를 들어, 테이블의 특정 열의 값을 계산하거나 테이블의 전체 행 수를 계산하는 데 사용할 수 있습니다.
-- 구문1 : 테이블의 전체 행 수를 계산합니다. (NULL 값을 포함하여 중복된 값을 모두 포함합니다.)SELECTCOUNT(*)
FROM TABLE1;
-- 구문2 : 이 구조는 특정 열에서 NULL이 아닌 값을 계산합니다.SELECTCOUNT(column_name)
FROM TABLE1;
-- 구문3 : 이 구조는 특정 열에서 중복되지 않은 값을 계산합니다. NULL 값을 제외합니다.SELECTCOUNT(DISTINCT column_name)
FROM TABLE1;
-- 구문4 : 이 구조는 특정 열에서 중복되지 않은 값을 계산합니다. NULL 값을 제외하고, 해당 열을 기준으로 그룹화합니다.SELECTCOUNT(DISTINCT column_name), column_name
FROM TABLE1
GROUPBY column_name;
-- 구문5 : 이 구조는 특정 열에서 중복되지 않은 값을 계산합니다. NULL 값을 제외하고, 해당 열을 기준으로 그룹화하고, 해당 열의 개수가 40보다 큰 경우 필터링합니다.SELECTCOUNT(DISTINCT column_name), column_name
FROM TABLE1
GROUPBY column_name
HAVINGCOUNT(colmn_name) >40;
- 테이블에서 ‘선택한 열의 모든 값의 합을 그 열의 행의 개수로 나눈 값을 반환’하는 함수입니다. - DISTINCT 중복 제거 사용 가능
-- SyntaxAVG([DISTINCT] column)
-- 구문 1 : 이 쿼리는 payment 테이블의 amount 열의 평균 값을 계산합니다.SELECTAVG(amount)
FROM payment;
-- 구문 2 : 이 쿼리는 payment 테이블의 amount 열의 평균 값을 계산하며, 중복 값을 제외합니다.SELECTAVG(DISTINCT amount)
FROM payment;
-- 구문 3 : 이 쿼리는 payment 테이블의 amount 열의 평균 값을 계산하고, 출력을 소수점 이하 2자리까지, 소수점 이전 10자리까지의 최대 자릿수로 지정합니다.SELECTAVG(amount)::numeric(10,2)
FROM payment;
-- 구문 4 : 이 쿼리는 payment 테이블의 amount 열의 평균 값을 계산하며, 중복 값을 제외하고 amount 열을 기준으로 결과를 그룹화합니다.SELECTAVG(DISTINCT amount), amount
FROM payment
GROUPBY amount;
-- 구문 5 : 그룹 조건절 : 이 쿼리는 payment 테이블의 amount 열의 평균 값을 계산하며, 중복 값을 제외하고 amount 열을 기준으로 결과를 그룹화합니다. 그 후, 평균 금액이 40보다 큰 행만 결과로 필터링합니다.SELECTAVG(DISTINCT amount), amount
FROM payment
GROUPBY amount
HAVINGAVG(amount) >40;
- 테이블의 ‘특정 열에서 가장 큰 값을 반환’하는 함수입니다. - DISTINCT 중복 제거 사용 불가
💡 MIN 함수
- 테이블의 ‘특정 열에서 가장 작은 값을 반환’하는 함수입니다. - DISTINCT 중복 제거 사용 불가
-- 기본 구문MAX(expression);
-- 기본 구문MIN(expression);
-- 구조 1 : payment 테이블의 amount 열에서 가장 큰 값을 찾기 위해 MAX 집계 함수를 사용합니다.SELECTMAX(amount)
FROM payment;
-- 구조2 : payment 테이블의 amount 열에서 가장 큰 값을 찾기 위해 MAX 집계 함수를 사용합니다. 그리고 결과는 amount 열로 그룹화됩니다.SELECTMAX(amount), amount
FROM payment
GROUPBY amount;
-- 구조3 : payment 테이블의 amount 열에서 가장 큰 값을 찾기 위해 MAX 집계 함수를 사용합니다. 그리고 결과는 amount 열로 그룹화되고 평균 amount가 40보다 큰 그룹만 필터링됩니다.SELECTMAX(amount), amount
FROM payment
GROUPBY amount
HAVINGAVG(amount) >40;