데이터 분석/SQL

[SQL 문법] SELECT DISTINCT

참치바나나 2020. 10. 28. 21:05

중복 값을 제외하고 분명히 다른 항목만 가져온다.

 

*distinct : 뚜렷이 다른, 별개의

 

Table 만들기

SELECT DISTINCT - 기초

SELECT DISTINCT bcolor FROM t1 ORDER BY bcolor

 

SELECT DISTINCT - 2개 column

SELECT DISTINCT bcolor,fcolor FROM t1 t ORDER BY bcolor ,fcolor ;

bcolor와 fcolor 값이 둘다 같은 ('red','red') 가 1개만 나왔다

 

SELECT DISTINCT - 2개 column 과 'ON'

SELECT DISTINCT ON (fcolor) bcolor, fcolor FROM t1 t ORDER BY fcolor, bcolor ;

SELECT DISTINCT ON (bcolor) bcolor, fcolor FROM t1 t ORDER BY bcolor ,fcolor ;

처음은 (fcolor) 기준 distinct 한 row들을 순서대로 배열하였고, 두번째는 (bcolor) 기준 distinct한 row들을 순서대로 배열. order by 에서 distinct 기준이 먼저 나와야 실행됨. 두 번째 순서(1번 경우 bcolor, 2번 경우 fcolor)가 없을 경우 DB의 가장 나중 값으로 전달. 기본 오름차순

 

SELECT DISTINCT - 2 column, ON , DESC 정렬

SELECT DISTINCT ON (fcolor) bcolor, fcolor FROM t1 t ORDER BY fcolor, bcolor DESC ;

SELECT DISTINCT ON (bcolor) bcolor, fcolor FROM t1 t ORDER BY bcolor ,fcolor DESC ;