• SQL 对结果集进行分组排序过滤重复数据 ROW_NUMBER


    简单的表操作:

    select row_number() over(partition by A.gid order by A.gid  ) as RowN,
    A.* from Fit_Order A 

    关联表操作

    select * from (
    select   row_number() over(partition by GID order by gid ASC) as RowN, *
     from
    (select  
    A.*,B.*
     from Fit_Order A INNER JOIN  Fit_OrderDetail  (nolock) B ON A.Gid=B.OrderGid
     ) AS BB
    where 
    BB.OrderType='银联支付'
     ) TT  where TT.RowN=1

    With AS 子查询 递归CTE 方式

     WITH TemGid AS 
      (
      select  A.Gid  from Fit_Order(nolock) A  Where   A.OrderType='银联支付' )
                  
        SELECT  * FROM (
             SELECT ROW_NUMBER() OVER(PARTITION BY BB.ShopPreGid ORDER BY BB.ShopPreGid ASC ) AS Row_Num,* 
                    FROM(
                             select  A.Gid AS ShopPreGid ,A.CreateDate,   B.DetailStatus
                             FROM 
                            ( SELECT * FROM Fit_Order(nolock)  WHERE Gid IN (SELECT * FROM TemGid )) A
                            inner join  Fit_OrderDetail  (nolock) B ON A.Gid=B.OrderGid)AS  BB 
                             WHERE  
                              BB.DetailStatus!='已完成'   
                              ) TT
                              WHERE  TT.Row_Num=1
  • 相关阅读:
    spark java wordCount实例
    SpringMVC 商城项目
    jstl 遍历数据
    jquery 方法总结
    8ch
    7ch
    使用vuex实现组件间传值
    Vue父子组件之间传值
    从浏览器输入URL地址到最终页面渲染完成,发生了什么?
    数组去重
  • 原文地址:https://www.cnblogs.com/Warmsunshine/p/10606910.html
Copyright © 2020-2023  润新知