sql
select *
from (select t.*,
row_number() over(partition by 去重列名 order by 排序列名 desc) as rn
from 表名)
where rn=1
1.row_number() over(....):
为每条数据分配一个行号,1.2.3....这样的
2.partition by :
以某列作为分组,每个分组行号从1开始,往下递增
3.order by 排序列名
分组后,按自定义规则进行排序后再分配行号,这样取行号rn=1,就是最新的一条数据