Oracle根据列中的特殊符号进行分组

原数据:

目标结果:

 

 根据-符号将数据进行分组,思路是根据NAME列值进行复制,若为‘-’则赋值1,其他为0,这样就可以根据累加实现分组,

具体实现代码:

/* Formatted on 2019/9/24 9:53:25 (QP5 v5.227.12220.39754) */
SELECT *
FROM (SELECT ID, NAME, SUM (SIGN) OVER (ORDER BY ID) AS VA
FROM (SELECT ID, NAME, DECODE (TRIM (NAME), '-', 1, 0) AS SIGN
FROM t5))
WHERE TRIM (NAME) <> '-';

posted on 2019-09-24 21:59  Leader.Z  阅读(653)  评论(0编辑  收藏  举报