sql 去除重复之distinct详解

前言:

       在sql数据查询中,有时候,数据可能会出现很多重复相同的数据,但是,我们有时候只是想要查询出不同的数据,把多余重复的数据过滤掉,可以通过使用distinct来实现过滤重复数据,返回唯一的数据。

1.案例详解:

  数据表a1如图:

1).单一字段去除多余重复数据

代码:select distinct a_name from a1

返回结果图:

说明:对单一一个字段使用distinct去除重复值时,会过滤掉多余重复相同的值,只返回唯一的值。

2).多个字段同时去除多余重复数据:

代码:select distinct a_id,a_name from a1

返回结果图:

说明:对多个字段同时使用distinct去除重复值时,distinct字段必须放在第一个字段前面,不能放在其他字段的后面。既distinct必须放在select 后面,第一个字段的前面。同时,使用distinct多个字段去除重复数据时,必须满足各行中各列所对应的值都相同才能去除重复值,如果有其中一列的值不相同,那就表示这些数据不是重复的数据,不会过滤掉。结果图中,虽然a_name列中都有小白,但是a_id列中小白对应的各自id的值不同,表示这些数据不是重复的,所以不会过滤掉,而能过滤掉的只有a_name列为小白,a_id列值为1的那2条数据,只返回唯一的一条a_id为1,a_name为小白的数据。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值