首页 > 数据库 >无涯教程-PostgreSQL - Distinct语句

无涯教程-PostgreSQL - Distinct语句

时间:2023-12-24 20:32:04浏览次数:37  
标签:25 PostgreSQL name Distinct COMPANY 无涯 Paul Learnfk Texas

PostgreSQL DISTINCT 关键字与SELECT语句结合使用,可消除所有重复记录并仅提取唯一记录。

Distinct - 语法

消除重复记录的DISTINCT关键字的基本语法如下-

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

Distinct - 示例

考虑表 COMPANY 具有以下记录:

# select * from COMPANY;
 id | name  | age | address   | salary
----+-------+-----+-----------+--------
  1 | Paul  |  32 | California|  20000
  2 | Learnfk |  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, 'Learnfk', 25, 'Texas', 15000.00 );

现在,COMPANY表中的记录将是-

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

首先,让无涯教程看看以下SELECT查询如何返回重复的薪水记录-

testdb=# SELECT name FROM COMPANY;

这将产生以下输出-

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

现在,让无涯教程在上面的SELECT查询中使用 DISTINCT 关键字,然后查看输出-

testdb=# SELECT DISTINCT name FROM COMPANY;

如果无涯教程没有任何重复的条目,这将产生以下输出-

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

参考链接

https://www.learnfk.com/postgresql/postgresql-distinct-keyword.html

标签:25,PostgreSQL,name,Distinct,COMPANY,无涯,Paul,Learnfk,Texas
From: https://blog.51cto.com/u_14033984/8957005

相关文章

  • 无涯教程-PostgreSQL - With语句
    在PostgreSQL中,WITH查询提供了一种编写辅助语句以用于较大查询的方法,它有助于将复杂的大型查询分解为更易于阅读的更简单形式。WITH查询是CTE查询,在多次执行子查询时特别有用,代替临时表同样有用,它只计算一次聚合,并允许无涯教程在查询中按其名称引用它。在查询中使用它之前,必须......
  • 无涯教程-PostgreSQL - Order By语句
    PostgreSQLORDERBY子句用于根据一个或多个列以升序或降序对数据进行排序。OrderBy-语法ORDERBY子句的基本语法如下-SELECTcolumn-listFROMtable_name[WHEREcondition][ORDERBYcolumn1,column2,..columnN][ASC|DESC];您可以在ORDERBY子句中使用多个列......
  • 无涯教程-PostgreSQL - Limit语句
    PostgreSQLLIMIT子句用于限制SELECT语句返回的数量。LimitClause-语法带LIMIT子句的SELECT语句的基本语法如下-SELECTcolumn1,column2,columnNFROMtable_nameLIMIT[noofrows]以下是LIMIT子句与OFFSET子句一起使用时的语法-SELECTcolumn1,column2,columnN......
  • 无涯教程-PostgreSQL - 更新数据(Update)
    PostgreSQLUPDATE查询用于修改表中的现有记录,您可以将WHERE子句与UPDATE查询一起使用来更新选定的行,否则,将更新所有行。使用WHERE子句的UPDATE查询的基本语法如下-UPDATEtable_nameSETcolumn1=value1,column2=value2....,columnN=valueNWHERE[condition];您可以使用......
  • 无涯教程-PostgreSQL - AND&OR语句
    PostgreSQL的AND和OR运算符用于组合多个条件以缩小PostgreSQL语句中的选定数据。AND运算符AND运算符允许PostgreSQL语句的WHERE子句中存在多个条件,使用AND运算符时,当所有条件都为真时才通过。如,仅当condition1和condition2均为true时,[condition1]AND[condition2]才为tr......
  • 无涯教程-PostgreSQL - 表达式
    表达式(Expressions)是一个或多个值,运算符以及计算为一个值的PostgresSQL函数的组合。PostgreSQLEXPRESSIONS类似于公式,它们以查询语言编写,您还可以用于查询数据库以获取特定的数据集。考虑一下SELECT语句的基本语法,如下所示:SELECTcolumn1,column2,columnNFROMtable_na......
  • 无涯教程-PostgreSQL - 运算符
    运算符是保留字或字符,主要用于PostgreSQL语句的WHERE子句中以执行操作,如比较和算术运算。运算符用于指定PostgreSQL语句中的条件,并用作语句中多个条件的结合。算术运算符比较运算符逻辑运算符按位运算符PostgreSQL算术运算符假设变量a=2,变量b=3,则-运算符描述示例......
  • 无涯教程-PostgreSQL - 插入数据(Insert)
    PostgreSQLINSERTINTO语句允许将新行插入表中,一个查询可以一次插入一行或几行。INSERTINTO语句的基本语法如下-INSERTINTOTABLE_NAME(column1,column2,column3,...columnN)VALUES(value1,value2,value3,...valueN);在这里,columnN,column1,columnN是要在其中插入数......
  • 无涯教程-PostgreSQL - 删除表(Drop)
    PostgreSQLDROPTABLE语句用于删除表定义以及该表的所有关联数据,索引,规则,触发器和约束。DROPTABLE语句的基本语法如下-DROPTABLEtable_name;在上一章中,无涯教程已经创建了表DEPARTMENT和COMPANY。首先,验证这些表(使用\d列出表)-testdb-#\d这将产生以下输出-......
  • 无涯教程-PostgreSQL - 创建表(Create)
    PostgreSQLCREATETABLE语句用于在任何给定数据库中创建一个新表。CREATETABLE语句的基本语法如下-CREATETABLEtable_name(column1datatype,column2datatype,column3datatype,.....columnNdatatype,PRIMARYKEY(oneormorecolumns));CRE......