douci1918 2012-08-10 09:49
浏览 5
已采纳

将一列拆分为3并对每行进行计算

I have a normal table:

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

..and so on to id lets say 100. I wonder if there's a query to select all, but split the column into 3 equally-separated columns and numerate the 1st from 1 to 33, 2nd 34-66, 67-100 (or anything close to that logic)

expected output: I don't care about the ids so what need is something like

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
  • 写回答

1条回答 默认 最新

  • doubingguan3425 2012-08-10 10:13
    关注

    I think this is what you are looking for:

    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;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据