变更前数据结构:
GROUP     PRE        COUR              NEXT
AAAAAA    0        1          2
AAAAAA   1        2          999999
BBBBBB   0        6          1
BBBBBB   1        5          2
BBBBBB   2        3          4
BBBBBB   3        4          999999
BBBBBB   5        2          3
BBBBBB   6        1          5
CCCCCC   0        9          1
CCCCCC   1        2          3
CCCCCC   2        3          4
CCCCCC   3        4          5
CCCCCC   4        5          6
CCCCCC   5        6          8
CCCCCC   6        8          999999
CCCCCC   9        1          2
DDDDDD   0        1          999999
EEEEEE   0        1          999999
FFFFFF    0        1          999999
GGGGGG   0        2          1
GGGGGG   2        1          999999
HHHHHH   0        1          4
HHHHHH   1        4          2
HHHHHH   2        3          999999
HHHHHH   4        2          3变更后数据结构:
GROUP     PRE        COUR              NEXT
AAAAAA    0        1          2
AAAAAA   1        2          999999
BBBBBB   0        6          1
BBBBBB   6        1          5
BBBBBB   1        5          2
BBBBBB   5        2          3
BBBBBB   2        3          4
BBBBBB   3        4          999999
CCCCCC   0        9          1
CCCCCC   9        1          2
CCCCCC   1        2          3
CCCCCC   2        3          4
CCCCCC   3        4          5
CCCCCC   4        5          6
CCCCCC   5        6          8
CCCCCC   6        8          999999
DDDDDD   0        1          999999
EEEEEE   0        1          999999
FFFFFF    0        1          999999
GGGGGG   0        2          1
GGGGGG   2        1          999999
HHHHHH   0        1          4
HHHHHH   1        4          2
HHHHHH   4        2          3
HHHHHH   2        3          999999每一个GROUP   先头Record前项:    0
             最后Record后项:     999999最好用SQL文解决。
谢谢

解决方案 »

  1.   

    select * from yourtable order by GROUP,NEXT 
      

  2.   

    楼上兄:
    你的方法不可以,
    BBBBBB  0       6         1 
    BBBBBB  6       1         5 
    BBBBBB  1       5         2 
    BBBBBB  5       2         3 
    BBBBBB  2       3         4 
    BBBBBB  3       4         999999
      

  3.   

    为什么不可以?你不就是要对这GROUP,NEXT两个字段排序吗?
    你在说说你要求的排序规律~~
    说说我这个方法哪里不合乎需求~
      

  4.   


    select * from yourtable order by GROUP,PRE,NEXT 如果还不行~就只好等大牛来了~~
      

  5.   

    -- TRY IT ..
    SELECT DISTINCT *
      FROM TT
      START WITH PRE = 0
    CONNECT BY PRIOR CONR = PRE
     ORDER BY GROUPS, LEVEL;
      

  6.   

    解决了,谢谢各位:SELECT T.*
      FROM (SELECT *
              FROM TT
             WHERE AA = '本店略略称09'
               AND BB = 'X'
               AND CC = '081210140215'
             ORDER BY
             GROUP) T
     START WITH (T.PRE = 0)
    CONNECT BY NOCYCLE T.PRE = PRIOR T.COUR
           AND T.COUR = PRIOR T.NEXT
           AND T.GROUP = PRIOR T.GROUP