我觉得楼主可能没有理解group by 的实际用处。
group by 首先是分组的功能。其次才会有去重的效果,
但是GROUP BY 的去重是因为分组而达到的去重效果。
一般使用GROUP BY 都是为了取的某些聚合统计数据而用的,并非主要用来去重的。
比如我有一份学校每个年级各个班级的考试成绩表,我想知道每个班得分总分,
那么我会SELECT 班级,SUM(分数) from 成绩表 group by 班级
通过上面的查询,我会用班级来分组,主要目的是为了得到分组后每个班级的分数求和(sum(分数))。
一般情况下,去重是用 distinct 这个关键字来完成去重的效果,这种去重是针对你搜索的所有项目去除完全一样的数据。
比如 select distinct 班级 from 成绩表 。 这条查询语句,我就可以得到参与了考试的所有班级一览。如果不加distinct 这个关机字,那么每个班级的分数会是有多条,因为成绩表中记录着每个班级每个人员的成绩。
不知道楼主明白了没有。
首先要搞清楚,你想怎么去重。