본문 바로가기
DataBase

[postgreSQL][데이터 조회]SELECT DISTINCT문

by 바까 2021. 9. 13.
반응형
--3)SELECT DISTINCT문
--SELECT시 DISTINCT를 사용하면 중복값을 제외한 결과값이 출력된다. 즉, 같은 결과의 행이라면 중복을 제거할 수 있다.
--(1)SELECT DISTINCT 문법_1
--select
--	DISTINCT COLUMN_1				COLUMN_1의 값이 중복 값 존재시 중복 값 제거
--FROM TABLE_NAME;

--	SELECT DISTINCT 문법_2
--select
--	DISTINCT COLUMN_1,COLUMN_2		COLUMN_1+COLUMN_2의 값이 중복 값 존재시 중복 값 제거
--FROM TABLE_NAME;

--	SELECT DISTINCT 문법_3
--select
--	DISTINCT COLUMN_1,COLUMN_2		COLUMN_1+COLUMN_2의 값이 중복 값 존재시 중복 값 제거
--FROM TABLE_NAME
--ORDER BY COLUMN_1,COLUMN_2;		결과를 명확하게 하기 위해 ORDER BY절 사용


--중복제거 안했을 때
select 
	BCOLOR
from
	t1 
order by
	bcolor ;
--(2)DISTINCT 사용, 컬럼 한개
select 
	distinct BCOLOR --BCOLOR 컬럼의 값을 출력 시 중복된 행을 제거
from
	t1 
order by
	bcolor ; 		--중복이 제거된 BCOLOR 컬럼 값 기준으로 정렬
					--NULL도 하나의 값이기 때문에 보여짐
	
--(3)DISTINCT 사용, 컬럼 두개
select 
	distinct BCOLOR, FCOLOR --BCOLOR+FCOLOR 컬럼의 값을 출력 시 중복된 행을 제거
from
	t1 
order by
	bcolor, fcolor; 		--중복이 제거된 BCOLOR 컬럼 값 기준으로 정렬

--(4)DISTINCT 사용, 컬럼 두개+ON사용
select 
	distinct ON (BCOLOR) BCOLOR, FCOLOR --BCOLOR컬럼 값 기준 중복 제거함
										--FCOLOR 컬럼 값은 단 한개 값만 보여줌
from
	t1 
order by
	bcolor, fcolor;--기본 오름차순 		
				
--(5)DISTINCT 사용, 컬럼 두개+ON사용, DESC정렬
	select 
	distinct ON (BCOLOR) BCOLOR, FCOLOR --BCOLOR컬럼 값 기준 중복 제거함
										--FCOLOR 컬럼 값은 단 한개 값만 보여줌
from
	t1 
order by
	bcolor, fcolor DESC;--내림차순(NULL이 가장 큰 값)
반응형

댓글