在 PostgreSQL 中,DISTINCT 關鍵字與 SELECT 語句一起使用,用于去除重復記錄,只獲取唯一的記錄。
我們平時在操作數據時,有可能出現一種情況,在一個表中有多個重復的記錄,當提取這樣的記錄時,DISTINCT 關鍵字就顯得特別有意義,它只獲取唯一一次記錄,而不是獲取重復記錄。
用于去除重復記錄的 DISTINCT 關鍵字的基本語法如下:
SELECT DISTINCT column1, column2,.....columnN
FROM table_name
WHERE [condition]
創建 testable 表,數據內容如下:
hgdb# select * from testable;id | name | age | address | salary
----+-------+-----+-----------+--------1 | 張三 | 32 | 濟南 | 200002 | 李四 | 25 | 青島 | 150003 | 王五 | 23 | 北京 | 200004 | 趙六 | 25 | 上海 | 650005 | 小明 | 27 | 廣州 | 850006 | 小紅 | 22 | 深圳 | 450007 | 小強 | 24 | 成都 | 10000
(7 rows)
讓我們插入兩條數據:
INSERT INTO testable (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (8, '張三', 32, '濟南', 20000.00 );INSERT INTO testable (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (9, '李四', 25, 'Texas', 15000.00 );
現在數據如下:
id | name | age | address | salary
----+-------+-----+------------+--------1 | 張三 | 32 | 濟南 | 200002 | 李四 | 25 | 青島 | 150003 | 王五 | 23 | 北京 | 200004 | 趙六 | 25 | 上海 | 650005 | 小明 | 27 | 廣州 | 850006 | 小紅 | 22 | 深圳 | 450007 | 小強 | 24 | 成都 | 100008 | 張三 | 32 | 濟南 | 200009 | 李四 | 25 | 青島 | 15000
(9 rows)
接下來我們找出 testable 表中的所有 NAME:
hgdb=# SELECT name FROM testable;
得到結果如下:
name
-------張三李四王五趙六小明小紅小強張三李四
(9 rows)
現在我們在 SELECT 語句中使用 DISTINCT 子句:
hgdb=# SELECT DISTINCT name FROM testable;
得到結果如下:
name
-------張三李四王五趙六小明小紅小強
(7 rows)
從結果可以看到,重復數據已經被刪除。
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态