在同一查询中设置和分组

时间:2012-10-08 14:48:45

标签: sql sql-server-2008

我可以将'set'与'group by'结合使用吗?

Column1  Column2  Column3  Column4
30       15        3 Sep
20       2         2 Sep

更新后:

Column1   Column2   Column3    Column4
30        15        3 Sep      30/50+15/17
20        2         2 Sep      20/50+2/17

我在整个9月份对数据进行分组,以计算总和:50和17 并使用它来更新同一查询中的Column4。

谢谢!

1 个答案:

答案 0 :(得分:1)

作为选择,您可以使用窗口函数在SQL Server中执行此操作:

select column1, column2, column3,
       (column1/(sum(1.0*column1) over ()) +
        column2/(sum(1.0*column2) over ()))
from t

我包含了“1.0 *”,因为SQL Server进行了整数除法。你可能想要浮点除法。