PostgreSQL数据库中DISTINCT关键字的四种用法详解例子解析

在这里插入图片描述

代码示例:

在 PostgreSQL 数据库中,DISTINCT 关键字有多种用法,可以帮助你从查询结果中去除重复的记录。以下是 DISTINCT 关键字的四种常见用法:

  1. 基本去重
    使用 DISTINCT 可以去除查询结果中的重复行。例如,如果你有一个员工表 employees,并且想要查询所有不同的职位,你可以使用以下查询:

    SELECT DISTINCT job_title FROM employees;
    

    这将返回每个不同的职位,即使某些职位在表中出现多次也只列出一次 。

  2. 多列去重
    当你需要根据多个列的组合来去重时,可以在 SELECT 语句中指定多个列名。例如,如果你想要查询 employees 表中每个员工的不同职位和部门组合,可以使用:

    SELECT DISTINCT job_title, department FROM employees;
    

    这将返回每对唯一的职位和部门组合 。

  3. DISTINCT ON
    DISTINCT ON 是 PostgreSQL 的一个特殊用法,它允许你指定一个或多个列作为标准来去除每个分组的重复行,通常与 ORDER BY 子句结合使用以确定哪些行被保留。例如,如果你想要查询每个部门薪水最高的员工,可以使用:

    SELECT DISTINCT ON (department) employee_name, job_title, salary
    FROM employees
    ORDER BY department, salary DESC;
    

    这将为每个部门返回薪水最高的员工记录 。

  4. 与聚合函数一起使用
    DISTINCT 也可以与聚合函数一起使用,例如 COUNT, MAX, MIN 等,来计算唯一值的数量或最大/最小值。例如,如果你想要计算 employees 表中不同职位的数量,可以使用:

    SELECT COUNT(DISTINCT job_title) FROM employees;
    

    这将返回表中不同职位的数量 。

  5. IS DISTINCT FROM
    这是一个特殊的用法,用于比较两个表达式是否不同,包括处理 NULL 值。例如:

    SELECT * FROM table WHERE column1 IS DISTINCT FROM column2;
    

    如果 column1column2 的值不同,或者一个是 NULL 而另一个不是,则该行将被选中 。

这些是 DISTINCT 关键字在 PostgreSQL 中的一些常见用法,可以帮助你根据需要去除重复数据或进行特定的数据比较。

喜欢本文,请点赞、收藏和关注!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乔丹搞IT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值