English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PostgreSQL DISTINCT 키워드

PostgreSQL에서 DISTINCT 키워드는 SELECT 문과 함께 사용되어 중복된 레코드를 제거하고 독립적인 레코드만 추출합니다.

우리가 일상에서 데이터를操作할 때, 하나의 테이블에 여러 번복된 레코드가 있을 수 있습니다. 이러한 레코드를 추출할 때, DISTINCT 키워드는 특히 중요합니다. 이 키워드는 중복된 레코드 대신 한 번만 추출합니다.

문법

중복 기록을 제거하는 DISTINCT 키워드의 기본 문법은 다음과 같습니다:

SELECT DISTINCT column1, column2,.....columnN
FROM table_name
WHERE [condition]

온라인 예제

COMPANY 테이블 생성(COMPANY SQL 파일 다운로드 ),데이터 내용은 다음과 같습니다:

w3codeboxdb# select * from COMPANY;
 id | name  | age | address   | salary
----+-------+-----+-----------+--------
  1 | Paul  |  32 | California|  20000
  2 | Allen |  25 | Texas     |  15000
  3 | Teddy |  23 | Norway    |  20000
  4 | Mark  |  25 | Rich-Mond |  65000
  5 | David |  27 | Texas     |  85000
  6 | Kim   |  22 | South-Hall|  45000
  7 | James |  24 | Houston   |  10000
(7 rows)

이제 두 가지 데이터를 입력하겠습니다:

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (8, 'Paul', 32, 'California', 20000.00 );
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (9, 'Allen', 25, 'Texas', 15000.00 );

이제 데이터는 다음과 같습니다:

 id | name  | age | address    | salary
----+-------+-----+------------+--------
  1 | Paul  |  32 | California |  20000
  2 | Allen |  25 | Texas      |  15000
  3 | Teddy |  23 | Norway     |  20000
  4 | Mark  |  25 | Rich-Mond  |  65000
  5 | David |  27 | Texas      |  85000
  6 | Kim   |  22 | South-Hall |  45000
  7 | James |  24 | Houston    |  10000
  8 | Paul  |  32 | California |  20000
  9 | Allen |  25 | Texas      |  15000
(9 rows)

그래서 COMPANY 테이블에서 모든 NAME을 찾습니다:

w3codeboxdb=# SELECT name FROM COMPANY;

결과는 다음과 같습니다:

 이름
-------
 Paul
 Allen
 Teddy
 Mark
 David
 Kim
 James
 Paul
 Allen
(9 rows)

현재 SELECT 문에서 DISTINCT 절을 사용합니다:

w3codeboxdb=# SELECT DISTINCT name FROM COMPANY;

결과는 다음과 같습니다:

이름
-------
 Teddy
 Paul
 Mark
 David
 Allen
 Kim
 James
(7 rows)

결과에서 볼 수 있듯이 중복 데이터가 제거되었습니다.