2015-06-10 27 views
-1

我有两列的表。该Seq列去从1到100如何将表分成4组?

Part_No    Seq 
A23     1 
B88     2 
C34     3 
A43     4 
B48     5 
E11     6 
A87     7 
E64     8 
...TILL Seq 100 

我现在想要拆分该表如下图所示:

Part_No_a    Part No_b   Part_No_c   Part_No_d 
A23      B88     C34     A43 
B48      E11     A87     E64 

回答

3

我会使用条件与聚集模数功能:

select max(case when seq % 4 = 1 then part_no end) as part_no_a, 
     max(case when seq % 4 = 2 then part_no end) as part_no_b, 
     max(case when seq % 4 = 3 then part_no end) as part_no_c, 
     max(case when seq % 4 = 0 then part_no end) as part_no_d 
from databasetable t 
group by ((seq - 1)/4); 
+0

谢谢戈登。它像一个魅力。我很好奇小组条款究竟做了什么? – Sam

+1

嗨,你可以在这里阅读更多关于GROUP BY:http://www.w3schools.com/sql/sql_groupby.asp –