表中数据重复产生,通过一个字段判断是否重复,使用该字段进行分组
使用row_number() over()函数对其分组后排序,之后通过条件筛选出最近日期的一条数据。
SELECT T.*
FROM (SELECT A.*,
ROW_NUMBER() OVER(PARTITION BY 需要分组的字段 ORDER BY 时间字段 DESC) RW
FROM 表 A
WHERE 条件) T
WHERE T.RW = 1
这样就可以实现去除重复,并取最新数据啦,同理也可以拓展思维对SQL进行调整,以达到不同的效果哦!
如果感觉有用的话,收藏点赞一下吧!啾咪~
本文介绍如何通过SQL的row_number()函数和PARTITION BY、ORDER BY语句,根据特定字段判断并保留每组中的最新数据,以解决数据重复问题。适合处理数据库去重和实时更新需求。
4万+





