(select subsid,
       acctid,
       custid,
       row_number() over(partition by servnumber order by createdate desc) rn
            from rec_subscriber
           where servnumber = v_servnumber)
   where rn = 1;
row_number() over(partition by servnumber order by createdate desc) rn --这句话看不懂是什么意思,麻烦各位大哥解释下,越详细越好

解决方案 »

  1.   

    这是分析函数
    你google下就明白了
    row_number()是函数名,后面的over(partition by servnumber--按servnumber分组
    order by createdate desc)--按createdate从大到小
    按照over后面的规则对记录赋以序号
      

  2.   

    这位兄弟又让我google,在公司加班呢row_number()  over(partition by 这两个是不是必需放一起使用啊,那个序号从1开始的吗?rn是不是可以换成另一个变量啊
      

  3.   

    rn可以換成其他變量row_number()必須和over()放一起,但是over可以和其他聚合函數一起使用序號從1開始
      

  4.   

    奇怪..加班不让搜索吗
    而且很容易搜到更详细更容易懂的回答
    partition by是这个函数的可选参数,order by 是必须的,否则就没有排序的规则
    rn是列别名,随便你取
    有办法的话自己测试一下,记忆更深刻
      

  5.   

    公司只能上csdn chinaunix 等几个网站,其他网站链接不过去有拦截的。多谢两位回答,明白了,结贴!