一、记录去重
1、distinct,放在查询字段之前,可后面多个字段
select distinct name,age from user
2、row_number() over(),可根去多个字段分组排序
select user.*, row_number() over(partition by name,age order by name desc) rn
from user
源数据
| name | age | sex |
|
jack | 18 | 男 |
| jack | 18 | 女 |
查询结果
| name | age | sex | rn |
| jack | 18 | 1 | |
| jack | 18 | 2 |
后面会多了个行号,我们可以根据行号去重
select * from (select user.*, row_number() over(partition by name,age order by name desc) rn
from user) a
where rn =1
结果就是下面的了
| name | age | sex | rn |
| jack | 18 | 1 |
本文介绍SQL中使用distinct关键字和row_number()窗口函数进行数据去重的方法。通过具体示例,展示了如何利用这两种方法来筛选出唯一的数据记录,适用于处理重复数据场景。
3121

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



