原来表数据
现在需求是 每位userinfoid发表的最新一条数据
(select smallblog.*,rank() over(partition by userinfoid order by addtime desc) r from smallblog )
结果为(最后一列会给出排序字段的等级)
进一步处理一下就可以了
select * from
(select smallblog.*,rank() over(partition by userinfoid order by addtime desc) r from smallblog ) where r<=1
(select smallblog.*,rank() over(partition by userinfoid order by addtime desc) r from smallblog ) where r<=1
如果查询的时间有是相同的那么给出的排序字段等级就会相同
这个时候我们可以使用 dense_rank()