[PostgreSQL] PostgreSQL 중복 값 제외 (DISTINCT 문)

2024. 6. 10. 09:59·Database/PostgreSQL

DISTINCT 문법

  • SELECT 시 DISTINCT를 사용하면 중복 값을 제외한 결과 값이 출력됨
  • 즉, 같은 결과의 행이라면 중복을 제거할 수 있음
  • COLUMN_1의 값이 중복 값 존재 시 중복 값을 제거
SELECT DISTINCT COLUMN_1 FROM TABLE_NAME;
  • COLUMN_1 + COLUMN_2의 값이 중복 값 존재 시 중복 값을 제거
SELECT DISTINCT COLUMN_1, COLUMN_2 FROM TABLE_NAME

 

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

 

테이블 생성하기

CREATE TABLE T1 (ID SERIAL not null primary key, BCOLOR VARCHAR, FCOLOR VARCHAR);

 

데이터 등록

insert
	into T1 (BCOLOR,FCOLOR)
values
	('RED','RED'),
	('RED','RED'),
	('RED',NULL),
	(NULL,'RED'),
	('RED','GREEN'),
	('RED','BLUE'),
	('GREEN','RED'),
	('GREEN','BLUE'),
	('GREEN','GREEN'),
	('BLUE','RED'),
	('BLUE','GREEN'),
	('BLUE','BLUE');
    
-- 데이터 등록후 커밋 하기
commit;

 

조회

SELECT * FROM T1;

DISTINCT ON

  • 해당 컬럼 값을 단 한 개 값 만을 보여주는 것
  • DISTINCT ON(BCOLOR) BCOLOR

 

실습

 

 1) SELECT DISTINCT를 사용하여 BCOLOR 컬럼의 중복 값을 제거하여 조회하며, 제거된 BCOLOR 컬럼 값 기준으로 정렬

SELECT DISTINCT BCOLOR
FROM T1
ORDER BY BCOLOR;

 

 2)  SELECT DISTINCT를 사용하여 BCOLOR + FCOLOR 컬럼의 중복 값을 제거하여 조회하며, 제거된 BCOLOR + FCOLOR 컬럼 값 기준으로 정렬

SELECT DISTINCT BCOLOR, FCOLOR
FROM T1
ORDER BY BCOLOR, FCOLOR;

 

 3)  SELECT DISTINCT를 사용하여 BCOLOR 컬럼 값 기준 중복을 제거하며, FCOLOR 컬럼 값은 단 한 개 값 만을 보여줌

SELECT DISTINCT ON(BCOLOR) BCOLOR, FCOLOR
FROM T1
ORDER BY BCOLOR, FCOLOR;

 

 4)  SELECT DISTINCT를 사용하여 BCOLOR 컬럼 값 기준 중복을 제거하며, FCOLOR 컬럼 값은 단 한 개 값 만을 보여주며, FCOLOR 컬럼 값을 보여줄 때, 내림차순으로 정렬함

SELECT DISTINCT ON(BCOLOR) BCOLOR, FCOLOR
FROM T1
ORDER BY BCOLOR, FCOLOR DESC;
저작자표시 비영리 변경금지 (새창열림)

'Database > PostgreSQL' 카테고리의 다른 글

[PostgreSQL] PostgreSQL 결과의 제한 (LIMIT 절)  (0) 2024.06.11
[PostgreSQL] PostgreSQL 필터링 조회 (WHERE 절)  (0) 2024.06.10
[PostgreSQL] PostgreSQL 데이터 정렬 (ORDER BY 문)  (0) 2024.06.10
[PostgreSQL] PostgreSQL 데이터 조회 (SELECT 문)  (0) 2024.06.10
[PostgreSQL] 공간데이터 IMPORT  (0) 2024.06.10
'Database/PostgreSQL' 카테고리의 다른 글
  • [PostgreSQL] PostgreSQL 결과의 제한 (LIMIT 절)
  • [PostgreSQL] PostgreSQL 필터링 조회 (WHERE 절)
  • [PostgreSQL] PostgreSQL 데이터 정렬 (ORDER BY 문)
  • [PostgreSQL] PostgreSQL 데이터 조회 (SELECT 문)
woojin._.
woojin._.
여러가지 개발을 해보며 발생하는 이야기들에 대한 블로그입니다:)
  • woojin._.
    Jin's Dev Story
    woojin._.
  • 전체
    오늘
    어제
    • 분류 전체보기 (829)
      • Tools (25)
        • eGovFrame (3)
        • GeoServer (3)
        • QGIS (2)
        • LabelImg (2)
        • Git (6)
        • GitHub (1)
        • Eclipse (7)
        • Visual Studio (1)
      • Web & Android (121)
        • SpringBoot (37)
        • Three.js (2)
        • Spring Data JPA (9)
        • 스프링 부트 쇼핑몰 프로젝트 with JPA (25)
        • Thymeleaf (4)
        • Spring Security (15)
        • Flutter (29)
      • Programming Language (61)
        • JAVA (27)
        • JavaScript (14)
        • Dart (2)
        • Python (15)
        • PHP (3)
      • Database (43)
        • PostgreSQL (32)
        • MYSQL (7)
        • Oracle (3)
        • MSSQL (1)
      • SERVER (17)
        • TCP_IP (3)
        • 리눅스 (7)
        • AWS (7)
      • Coding Test (445)
        • 백준[JAVA] (108)
        • 프로그래머스[JAVA] (260)
        • 알고리즘 고득점 Kit[JAVA] (3)
        • SQL 고득점 Kit[ORACLE] (74)
      • CS 지식 (49)
        • [자료구조] (14)
        • [네트워크] (12)
        • [데이터베이스] (10)
        • [알고리즘] (9)
        • [운영체제] (4)
      • 기타 (6)
      • 자격증 & 공부 (62)
        • 정보처리기사 (2)
        • SQLD (6)
        • 네트워크관리사 2급 (5)
        • 리눅스마스터 1급 (44)
        • 리눅스마스터 2급 (1)
        • ISTQB (3)
        • 시스템보안 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 인기 글

  • 태그

    스프링부트
    자바
    플러터
    postgresql
    backjoon
    Oracle
    백준
    CS지식
    spring
    프로그래머스
    시큐리티
    JPA
    CS
    Flutter
    python
    스프링
    리눅스
    데이터
    Spring Security
    스프링 부트 쇼핑몰 프로젝트 with JPA
    리눅스마스터
    DB
    리눅스마스터 1급
    pcce 기출문제
    Linux
    programmers
    springboot
    데이터베이스
    baekjoon
    Java
  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
woojin._.
[PostgreSQL] PostgreSQL 중복 값 제외 (DISTINCT 문)
상단으로

티스토리툴바