2012-08-10 34 views
3

我有一個正常的表:拆分一列到3且具每一行

id |value 
12 |1 
24 |3 
35 |20 

..和等方面ID可以說100.我不知道是否有一個查詢來選擇,而是拆分列成3個均等分隔柱和且具所述第一從1至33,第二34-66,67-100(或任何接近邏輯)

預期輸出: 我不關心的ID,以便有什麼需要的是像

order1|value1 order2|value2 order3|value3 
    1 |1   34|80   67|206 
    2 |4   35|100   68|207 
    3 |6   36|102   69|280 
    ...   ....   ... 
    33|60   66|201  100|810 
+0

我試着用搜索引擎並沒有得到,甚至一個線索。現在我處於'SELECT * FROM table'階段。我用php做了,但我不喜歡它。如果有這樣的查詢,我只想使用mysql。 – Martin 2012-08-10 09:53:32

+1

你能給出實際的預期產出嗎? – Omesh 2012-08-10 09:59:29

+0

沒有論證的缺點並不是很有建設性! @Omesh問題已更新! – Martin 2012-08-10 10:15:19

回答

3

我認爲這是你在找什麼:

SELECT * 
FROM (
     SELECT (@var_count := @var_count + 1) AS order1, value AS value1, 0 order2, 0 value2, 0 order3, 0 value3 
     FROM table_name, (SELECT @var_count := 0) a 
     LIMIT 33 

     UNION ALL 

     SELECT 0 order1, 0 value1, (@var_count := @var_count + 1) AS order2, value AS value2, 0 order3, 0 value3 
     FROM table_name, (SELECT @var_count := 33) a 
     LIMIT 34, 33 

     UNION ALL 

     SELECT 0 order1, 0 value1, 0 order2, 0 value2, (@var_count := @var_count + 1) AS order3, value AS value3 
     FROM table_name, (SELECT @var_count := 66) a 
     LIMIT 67, 33 
    )a; 
+0

完美。謝謝! – Martin 2012-08-10 10:22:20

+0

歡迎Martin! :) – Omesh 2012-08-10 10:23:25