oracle rank()用法
原来表数据

现在需求是 每位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()
参考http://space.itpub.net/13379967/viewspace-481811
 
                    
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号