[SQL] SQL 고득점 Kit - SUM, MAX, MIN
Updated:
최댓값 구하기
- 내림차순 정렬 후, 1개만 출력하기
SELECT DATETIME '시간' FROM ANIMAL_INS ORDER BY DATETIME DESC LIMIT 1;
- MIN, MAX 사용하기
SELECT MAX(DATETIME) '시간' FROM ANIMAL_INS;
최솟값 구하기
SELECT MIN(DATETIME) '시간' FROM ANIMAL_INS;
동물 수 구하기
SELECT COUNT(ANIMAL_ID) FROM ANIMAL_INS;
- SUM, COUNT 차이점은 ?
중복 제거하기
SELECT COUNT(DISTINCT NAME) "count" FROM ANIMAL_INS
WHERE NAME IS NOT NULL;
정리
- 열 이름 변경하여 출력하기(as)
select [col] “출력할 열 이름” from [table]; select [col] as 출력할 열 이름 from [tabke];
- 집계함수 sum(), count()
- sum() : 레코드의 합계를 출력
- count() : 모든 레코드의 수를 출력
select sum(population) from city; – 인구수 합계 출력 select count(*) from city; –city의 모든 레코드 출력
top(), with ties
- 중복 제거 방법 : DISTINCT, GROUP BY
DISTINCT 사용 : 중복 제거, 정렬 x
select distinct [col] from [table] where 조건;
GROUP BY 사용 : 중복 제거, 정렬 o
select [col] from [table] where 조건 group by [col];
- null 값 체크 방법
col의 값이 null 값인 경우 출력
select * form [table] where [col] is null;
col의 값이 빈 값인 경우
select * form [table] where [col] = ‘’;
col의 값의 길이가 0인 경우 = null or 빈 값
select * from [table] where length([col]) = 0
col의 값이 null이 아닌 경우 출력
select * from [table] where [col] is not null;
col의 값이 빈 값이 아닌 경우
select * from [table] where [col] != 0;
집계함수 정리
-
집계함수란?
어떤 데이터를 집계하는 함수들을 의미 -
종류 count(열 or * ) : 해당 열, 모든 레코드 수 출력 sum(열) : 해당 열의 합계 출력 max(열) : 해당 열의 최대 값 출력 min(열) : 해당 열의 최소 값 출력 avg(열) : 해당 열의 평균 값 출력
-
Group Query(Group by, Having)
Group By : 집계함수의 결과를 특정 컬럼 기준으로 묶어 결과를 출력
select 열, 집계함수(열) from [table] (where 열 = date) group by 열;
Having : Group By 쿼리의 결과를 다시 필터링하기 위한 쿼리, select 문의 결과에 조건을 걸 때 where을 사용하는 것과 같음
select 열, 집계함수(열) from [table] (where 열 = data) group by 열 (having 집계함수(열) 부등호 data)
조건 비교에 사용될 데이터는 당연히 집계 함수의 결과를 사용해야 함
Leave a comment