MySQL中有时需要对数据进行去重后再按某一字段分组查询,这时候可以使用DISTINCT和GROUP BY结合使用来实现。
SELECT DISTINCT column1, column2, ... FROM table_name GROUP BY column1, column2, ...;
其中,DISTINCT用于去重,可以选择需要去重的字段;GROUP BY用于分组,可以选择需要分组的字段。
例如,我们有一个学生表,其中有学生的姓名、性别、年龄和学号等字段,现在需要按性别和年龄分组,并且对每组内的学生进行去重,查询每组内的学生姓名和学号:
SELECT DISTINCT name, id FROM student_table GROUP BY gender, age;
执行以上SQL语句后,就可以得到每个性别和年龄组内去重后的学生姓名和学号。