【发布时间】:2012-08-28 13:52:39
【问题描述】:
我的数据集如下所示:
COLA | COLB
Name1 | 218
Name2 | 157
Name3 | 134
Name4 | 121
我需要这个输出:
COLA | COLB| COLC
Name1 | 218 | 0.34
Name2 | 157 | 0.60
Name3 | 134 | 0.71
Name4 | 121 | 1
到目前为止,我的 SQL 是这样的:
SELECT COLA, COLB, COLB/SUM(COLB) FROM #MyTempTable
这个 SQL 有两个问题。一,COLC每次都是0,我不明白。第二,即使它确实导致了 %,它也不是累积的 %。
我在 StackOverflow 上看到了一些类似的线程,但我无法让这些线程的答案在我的确切场景中起作用。
提前感谢您的任何建议!
【问题讨论】:
-
您需要一列来对行进行排序。你怎么知道哪一行在序列中排在第一位?
-
确保在 SO 上发布 SQL 问题时,包括您正在使用的 RDBMS。 (MySQL?MSSQL?Oracle?)
-
#MyTempTable表示法是否意味着 MS SQL Server?不过,我们不必猜测。 -
SQL 2008 - 很抱歉之前没有澄清这一点
标签: sql sql-server-2008 cumulative-sum