【问题标题】:Filter max of rn过滤器最大值 rn
【发布时间】:2011-03-15 09:08:13
【问题描述】:

如何在此处过滤 rn 的最大值

select  *
from    (
        select  *
        ,       row_number() over (partition by name order by ox asc) as rn
        from    YourTable
        ) as SubQueryAlias
where   rn = 1

在其归档上方rn = 1

我要过滤rn = max(rn)

【问题讨论】:

    标签: sql sql-server-2008 tsql sql-server-2005 window-functions


    【解决方案1】:

    order by ox asc 更改为order by ox desc 并使用rn = 1

    select  *
    from    (
            select  *
            ,       row_number() over (partition by name order by ox desc) as rn
            from    YourTable
            ) as SubQueryAlias
    where   rn = 1
    

    【讨论】:

      【解决方案2】:

      检查这个以获得 rn = max(rn):

      select top 1 * from 
      ( select * , 
          row_number() over (partition by name order by ox asc) 
          as rn from YourTable ) 
      as SubQueryAlias 
      order by rn desc
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-12-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多