2016-01-13 127 views
1

我有一列中的數據按升序排序。我想分成兩列。檢查我的表格和預期輸出。這背後的邏輯是我想要我的第一列和第二,第四和第六等數據在我的第二列第一,第三,第五行數據。將數據拆分爲2列

我現有的表:
表1:

Col1 
2012 
2013 
2014 
2015 
2016 
2017 

預期輸出:

Col1 Col2 
2012 2013 
2014 2015 
2016 2017 

任何人只要有任何建議,我怎麼能做到這一點。

回答

3

我認爲你可以使用這樣的查詢:

SELECT 
    Max(Col1) Col1, Max(Col2) Col2 
FROM (
    SELECT 
     (ROW_NUMBER() OVER (ORDER BY Col1)- 1)/2 as seq, 
     CASE WHEN ROW_NUMBER() OVER (ORDER BY Col1) % 2 = 1 THEN Col1 END Col1, 
     CASE WHEN ROW_NUMBER() OVER (ORDER BY Col1) % 2 = 0 THEN Col1 END Col2 
    FROM yourTable) t 
GROUP BY seq