English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En PostgreSQL, la palabra clave DISTINCT se utiliza junto con la sentencia SELECT para eliminar registros repetidos y obtener solo registros únicos.
Cuando manejamos datos de manera común, es posible que aparezca una situación en la que haya múltiples registros repetidos en una tabla. Cuando se extraen tales registros, la palabra clave DISTINCT resulta especialmente significativa, ya que solo obtiene un registro único en lugar de registros repetidos.
用于去除重复记录的 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)
A continuación, encontramos todos los NOMBRE en la tabla COMPANY:
w3codeboxdb=# SELECT name FROM COMPANY;
Se obtuvieron los siguientes resultados:
name ------- Paul Allen Teddy Mark David Kim James Paul Allen (9 rows)
Ahora utilizamos la cláusula DISTINCT en la declaración SELECT:
w3codeboxdb=# SELECT DISTINCT name FROM COMPANY;
Se obtuvieron los siguientes resultados:
name ------- Teddy Paul Mark David Allen Kim James (7 rows)
Como se puede ver en los resultados, los datos duplicados han sido eliminados.