前言:
在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为小白的数据。