数据库查询的结果去除重复数据的几种方式

1.使用 DISTINCT 关键词

在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。

关键词 DISTINCT 用于返回唯一不同的值。

语法:

SELECT DISTINCT 列名称 FROM 表名称

详细使用说明可查看此链接:SQL SELECT DISTINCT 语句

其中的一种使用方式:
select 
    t.a A ,
    count(distinct t.b) B
from table_name t
    group by t.a

2.使用row_number() over (partition by col1 order by col2)

row_number() over (partition by col1 order by col2) 表示根据col1分组,在分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)

详细说明可查看此链接:SQL ROW_NUMBER() OVER函数的基本用法用法

select t.*
  from (select a.*,
               row_number() over(partition by a.col1 order by a.col2 desc) rn
          from table_name a) t
 where t.rn = 1

思路:
通过col1字段分组后再以col2字段组内降序排列并添加序号,然后再查询出组内序号等于1的数据实现去重操作。

©️2020 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值