distinct与groupby去重
mysql中常⽤去重复数据的⽅法是使⽤ distinct 或者group by ,以上2种均能实现,但2者也有不同的地⽅。
distinct 特点:
如:lect distinct name, x,from tb_students 这个sql的语法中,查询 tb_students 表中 name, x,并去除名字和性别都重复的学⽣:
1、distinct 只能放在查询字段的最前⾯,不能放在查询字段的中间或者后⾯。
坟墓对联大全备注:lect x,distinct name from tb_students 这种写法是错误的,distinct 只能写在所有查询字段的前⾯
2、distinct 对后⾯所有的字段均起作⽤,即去重是查询的所有字段完全重复的数据,⽽不是只对 distinct 后⾯连接的单个字段重复的数据。
备注:也就是 distinct 关键字对 name, x 都起作⽤,去重姓名、性别完全⼀样的学⽣,如果姓名相同、性别不同是不会去重的。
鬓角发
鼓励的话语和激励话 3、要查询多个字段,但只针对⼀个字段去重,使⽤distinct去重的话是⽆法实现的。
group by 特点:
老当益壮的意思
实用心理学 1、⼀般与聚类函数使⽤(如count()/sum()等),也可单独使⽤。
2、group by 也对后⾯所有的字段均起作⽤,即去重是查询的所有字段完全重复的数据,⽽不是只对 group by后⾯连接的单个字段重复的数据。
小花小草中国强大的句子 3、查询的字段与group by 后⾯分组的字段没有限制。
特别说明:在oracle中使⽤group by时,查询的字段必须是group by 分组的字段和聚类函数。如lect name,x from tb_students group
by name这个sql
尼克松访华时间 语法在oracle中是错误的,因为x 不在group by 分组后⾯;但在mysql中是⽀持的。