下面是详细的攻略。
在MySQL中进行去重留一可以使用distinct关键字或者group by语句。使用distinct关键字通常是在查询结果列中只需要一列去重的情况下使用,而使用group by则可以在需要对多个列进行去重的情况下使用。下面分别对两个方法进行讲解。
方法1:使用distinct关键字
语法
SELECT DISTINCT column_name(s)
FROM table_name;
其中,column_name(s)需要指定需要去重的列名,可以指定多个列名。
示例
假设有以下student表:
id | name | age | score |
---|---|---|---|
1 | Tom | 18 | 85 |
2 | Lucy | 19 | 90 |
3 | Tom | 18 | 85 |
4 | Jack | 20 | 80 |
我们希望去重留一列name,查询结果如下:
SELECT DISTINCT name
FROM student;
输出结果如下:
name |
---|
Tom |
Lucy |
Jack |
方法2:使用group by语句
语法
SELECT column_name(s)
FROM table_name
GROUP BY column_name(s);
其中,column_name(s)需要指定需要去重的列名,可以指定多个列名。
示例
假设有以下student表:
id | name | age | score |
---|---|---|---|
1 | Tom | 18 | 85 |
2 | Lucy | 19 | 90 |
3 | Tom | 18 | 85 |
4 | Jack | 20 | 80 |
我们希望在去重留一列name和age,查询结果如下:
SELECT name, age
FROM student
GROUP BY name, age;
输出结果如下:
name | age |
---|---|
Tom | 18 |
Lucy | 19 |
Jack | 20 |
以上就是使用一条sql语句完成MySQL去重留一的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一条sql语句完成MySQL去重留一 - Python技术站