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.youkuaiyun.com/claroja/article/details/53635655
本文介绍在SQL中如何去除数据表中的重复数据,包括完全相同记录的去除和特定字段的去重方法。通过使用distinct关键字和groupby语句,可以有效地处理数据冗余问题。
2582

被折叠的 条评论
为什么被折叠?



