1.利用distinct去重
只能过滤查询字段中所有记录相同的(记录集相同),而如果要指定一个字段却没有效果,另外distinct关键字会排序,效率很低 。
select distinct name from student where score > 60 ;
我们看到只能取select中所有结果的distinct去重
2.我们利用group by 对某一个字段去重,但是其他字段还能取一些聚合的结果
group by 的特点是对分组后的每一组结果集产生一条聚合结果(也就是按照某个字段进行分组聚合就相当于去重了)
select name ,min(age) as age , min(weight )as weight
from student
group by name
where score > 60;
并且我们利用having 子句也能对分组后的结果集中的数据进行二次筛选根据having后的条件