通过PARTITION BY 实现数据的分组

需求:查询出每一个会员最晚发布的一条出租商铺信息

SELECT TOP 4
        LH.ID ,
        LH.Cust_id ,
        LH.Title ,
        LH.AddDate ,
        LH.Classification  --,LH.add_domain domain      
FROM    ( SELECT    LP_HouseRent.ID ,
                    Cust_id ,
                    Title ,
                    AddDate ,
                    Classification ,
                    ROW_NUMBER() OVER ( PARTITION BY Cust_id ORDER BY AddDate DESC ) new_id
          FROM      dbo.LP_HouseRent WITH ( NOLOCK )
                    INNER JOIN dbo.huiyuan ON huiyuan.id = LP_HouseRent.Cust_id
          WHERE     State >= 1
                    AND dbo.huiyuan.Verify > 2  -- AND add_vip =1 AND add_verify >2
        ) LH
WHERE   LH.new_id = 1
ORDER BY LH.AddDate DESC;
原文地址:https://www.cnblogs.com/Learnall/p/14500412.html