首页 文章

总结sql中的相邻列

提问于
浏览
-1

我要求没有功能或程序的解决方案(权限问题) .

我有这样一张 table :

其中k =列数(实际上:k = 500)

col1  col2 col3 col4 col5.... col(k)  
10     20   30  -50    60       100

我需要创建一个这样的推理行:

col1 col2  col3 col4 col5  ...  col(k)
10    30    60   10   70          X

在Excel中,制作论坛并拖动它是一个简单的东西但是在sql中如果我有很多列,那么手动添加似乎是非常笨拙的工作(col1为col1,col1 col2为col2,col1 col2 col3为col3直到colk等等) .

有没有找到解决这个问题的好方法?

2 回答

  • 0

    您说您已将数据模型更改为行 . 所以我们假设新表有三列:

    • grp(一些组键用于标识哪些行属于一起,即旧表中的哪一行)

    • pos(位置编号从1到500表示值的顺序)

    你得到 SUM OVER 的累积总和:

    select grp, pos, value, sum(value) over (partition by grp order by pos) as running_total
    from mytable
    order by grp, pos;
    
  • 0

    如果在很多报告中需要/使用这个“colk”,我建议您使用k = cola colb创建一个计算列或视图来汇总所有列...

    在sql中没有函数来总结列(例如colA和colJ之间)

相关问题