English 中文(简体)
PostgreSQL Tutorial

Advanced PostgreSQL

PostgreSQL Interfaces

PostgreSQL Useful Resources

Selected Reading

PostgreSQL - Distinct Keyword
  • 时间:2024-09-17

PostgreSQL - DISTINCT Keyword


Previous Page Next Page  

The PostgreSQL DISTINCT keyword is used in conjunction with SELECT statement to epminate all the duppcate records and fetching only unique records.

There may be a situation when you have multiple duppcate records in a table. While fetching such records, it makes more sense to fetch only unique records instead of fetching duppcate records.

Syntax

The basic syntax of DISTINCT keyword to epminate duppcate records is as follows −

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

Example

Consider the table COMPANY having records as follows −

# select * from COMPANY;
 id | name  | age | address   | salary
----+-------+-----+-----------+--------
  1 | Paul  |  32 | Capfornia|  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)

Let us add two more records to this table as follows −

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (8,  Paul , 32,  Capfornia , 20000.00 );

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (9,  Allen , 25,  Texas , 15000.00 );

Now, the records in the COMPANY table would be −

 id | name  | age | address    | salary
----+-------+-----+------------+--------
  1 | Paul  |  32 | Capfornia |  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 | Capfornia |  20000
  9 | Allen |  25 | Texas      |  15000
(9 rows)

First, let us see how the following SELECT query returns duppcate salary records −

testdb=# SELECT name FROM COMPANY;

This would produce the following result −

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

Now, let us use DISTINCT keyword with the above SELECT query and see the result −

testdb=# SELECT DISTINCT name FROM COMPANY;

This would produce the following result where we do not have any duppcate entry −

 name
-------
 Teddy
 Paul
 Mark
 David
 Allen
 Kim
 James
(7 rows)
Advertisements