首页 新闻 搜索 专区 学院

oracle语句问题LTRIM(MAX(SYS_CONNECT_BY_PATH(LICENSENO, ',')), ',')为啥取MAX呢?

0
悬赏园豆:10 [已解决问题] 解决于 2013-09-06 14:57

SELECT POLICYNO,CASENO,CLAIMTIMES, LTRIM(MAX(SYS_CONNECT_BY_PATH(LICENSENO, ',')), ',') LICENSENO
    FROM (SELECT LICENSENO, POLICYNO,CASENO,CLAIMTIMES, ROW_NUMBER() OVER(PARTITION BY POLICYNO,CASENO,CLAIMTIMES ORDER BY LICENSENO DESC) RN  
              FROM ODS_CAR_LSURVEYLOSS
              WHERE KINDCODE='030018'  )
    START WITH RN = 1
    CONNECT BY RN - 1 = PRIOR RN  
           AND POLICYNO = PRIOR POLICYNO
           AND CASENO = PRIOR CASENO
           AND CLAIMTIMES=PRIOR CLAIMTIMES
    GROUP BY POLICYNO,CASENO,CLAIMTIMES这个sql中为啥取MAX?

培培@java的主页 培培@java | 初学一级 | 园豆:38
提问于:2013-09-04 15:35
< >
分享
最佳答案
0

很简单,你不用 max 函数,看看是什么效果,那么你就知道max函数是做什么的,你就知道 SYS_CONNECT_BY_PATH 这个函数的特性了。

收获园豆:10
jone_e | 小虾三级 |园豆:1410 | 2013-09-04 17:15

嘿嘿,我就是这么测试的,然后知道了。。。不过也要谢谢啦。。。

培培@java | 园豆:38 (初学一级) | 2013-09-04 18:56

@培培@java: 没注意,原来一楼是楼主啊。。

jone_e | 园豆:1410 (小虾三级) | 2013-09-05 11:25

@jone_e: 哈哈,是呀是呀。。。

培培@java | 园豆:38 (初学一级) | 2013-09-06 14:56
其他回答(1)
0

因为要分组,取最长的(也就是要的结果),祛除重复。。。

培培@java | 园豆:38 (初学一级) | 2013-09-04 15:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册