SQL中去除完全相同数据可以用distinct关键字,任意字段去重可以用group by,以下面的数据表为例。
id | name | score |
---|---|---|
1 | 小王 | 51 |
2 | 小魏 | 61 |
3 | 小张 | 71 |
4 | 小李 | 51 |
5 | 小王 | 51 |
1.存在两条完全相同的纪录,用关键字distinct就可以去掉
select distinct * from tbl
id | name | score |
---|---|---|
1 | 小王 | 51 |
2 | 小魏 | 61 |
3 | 小张 | 71 |
4 | 小李 | 51 |
以上只去掉了name与score两个字段都完全相同的字段
2.字段去重,使用group by,必须存在唯一id
select * from tbl where id in (select max(id) from tbl group by score)
id | name | score |
---|---|---|
1 | 小王 | 51 |
2 | 小魏 | 61 |
3 | 小张 | 71 |
以上把score字段里相同的数据都去掉了
————————————————
原文链接:https://blog.csdn.net/claroja/article/details/53635655