在 PostgreSQL 中,我们可以使用带有 INLINECODE16bf737e 子句的 INLINECODEb58247f0 语句来从查询结果集中删除重复的行。通过利用 DISTINCT 子句,我们可以确保查询结果仅包含唯一的行,无论我们处理的是单个列还是多个列。
DISTINCT 子句用于从结果集中返回唯一的行。当使用它时,它会为每组重复项保留一行,从而有效地消除输出中的任何重复行。
让我们通过深入探索 PostgreSQL 中的 SELECT DISTINCT 子句,来更好地理解这一概念。
语法
对于单列:
SELECT DISTINCT column_1 FROM table_name;
对于多列:
SELECT DISTINCT column_1, column_2, column_3 FROM table_name;
PostgreSQL SELECT DISTINCT 子句示例
现在,让我们通过几个示例来更好地理解。为了进行演示,我们将使用下面显示的命令创建一个示例数据库(假设名为 Favourite_colours)。
PostgreSQL
CODEBLOCK_f60b5b20
输出: 如果一切按计划进行,输出将如下所示:
!PostgreSQL SELECT DISTINCT clause Example
既然我们的数据库已经准备就绪,让我们继续实施 SELECT DISTINCT 子句。
示例 1: PostgreSQL 在单列上使用 DISTINCT
从 ‘colour_1‘** 列中检索唯一的值。
查询:
SELECT
DISTINCT colour_1
FROM
my_table
ORDER BY
colour_1;
输出:
!PostgreSQL SELECT DISTINCT clause Example
示例 2: PostgreSQL 在多列上使用 DISTINCT
从 ‘INLINECODE842cdf43 和 ‘INLINECODEd5aa2081 列中检索唯一的值组合。
查询:
SELECT
DISTINCT colour_1,
colour_2
FROM
my_table
ORDER BY
colour_1,
colour_2;
输出:
!PostgreSQL SELECT DISTINCT clause Example
关于 PostgreSQL SELECT DISTINCT 子句的要点
> – INLINECODE97bfbf88 子句比较的是整行,而不仅仅是单个列。这意味着如果您使用 INLINECODEefe84bea,PostgreSQL 将根据所有列的值返回唯一的行。
> – INLINECODEaff04d7c 子句将 INLINECODEe5c82edb 值视为相等。因此,在指定列中具有 NULL 值的行将被视为重复项。
> – SELECT DISTINCT 子句中列的顺序很重要。如果数据集在多列中存在重复项,更改列的顺序可能会产生不同的结果。
> – DISTINCT 可以在子查询中使用,以便在应用其他操作之前过滤掉重复项。