MySQL去重问题:DISTINCT语句
1、DISTINCT介绍:
在表中,一个列可能会包含多个重复值,有时我们也许希望仅仅列出不同的值,此时可以使用DISTINCT关键词。DISTINCT关键词用于返回唯一不同的值。DISTINCT 语法如下所示:
SELECT DISTINCT column_name FROM table_name;
2、DISTINCT使用注意事项:
distinct 语句中 select 显示的字段只能是 distinct 指定的字段,其他字段是不可能出现的。如下所示:
select distinct name, id from A
实际上是根据 "name+id" 来去重,distinct 同时作用在了 name 和 id 上。请大家牢记一点:distinct 会对结果集去重,对全部选择字段进行去重,并不能针对其中部分字段进行去重。
3、多个字段去重问题:利用min或者max函数
经典例子
select distinct name, id from table
实际上是根据 "name+id" 来去重,distinct 同时作用在了 name 和 id 上。曲线救国写法:
select name,id from table where id in (
select min(id) from table group by name
)
说明:将需要去重的字段添加到where条件中,取出唯一id,然后就可以获得去重之后的两个字段了。