首先你的size_no直接排序我不知道是按照什麼排列的,因為你的size_no中存在#,所以是不可能轉為number的。如果想利用number排序那麼我建議用instr確定#的位置,然後用substr擷取,擷取後的值,再to_number進行排序。
至於轉為三行那個,個人建議用rownum去做,先按照上面的方式排序,排序後用rownum標註行號,然後用行號-1,然後用行號去除以8,標出整除部分和餘數。
可以到的:
rownum-1 整除部分得數 餘數 size_no
0 0 0
1 0 1
2 0 2
。。。。。
7 0 7
8 1 0
9 1 1
10 1 2
........
18 2 2
19 2 3
而後利用餘數部分進行case when(也就是列轉行的工作),利用整除部分得數進行分組,這樣就可以得到你要的那種結果了。
首先你的size_no直接排序我不知道是按照什麼排列的,因為你的size_no中存在#,所以是不可能轉為number的。如果想利用number排序那麼我建議用instr確定#的位置,然後用substr擷取,擷取後的值,再to_number進行排序。
至於轉為三行那個,個人建議用rownum去做,先按照上面的方式排序,排序後用rownum標註行號,然後用行號-1,然後用行號去除以8,標出整除部分和餘數。
可以到的:
rownum-1 整除部分得數 餘數 size_no
0 0 0
1 0 1
2 0 2
。。。。。
7 0 7
8 1 0
9 1 1
10 1 2
........
18 2 2
19 2 3
而後利用餘數部分進行case when(也就是列轉行的工作),利用整除部分得數進行分組,這樣就可以得到你要的那種結果了。