我正在尝试获取单个值,并将它们除以列中的总和。
即。
SELECT (column1 / SUM(column1))
FROM Table a
这很好用,但是当我包含另一条必要的信息时......
SELECT column2
,(column1 / SUM(column1))
FROM Table a
然后它返回Column1在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。
然后,如果我在group by子句中包含column2,我的SUM(column1)只是根据column2值重新填充先前的值....失去了我的SUM的目的。
帮助?
答案 0 :(得分:0)
使用完整显式子查询来获取column1的总和:
SELECT column2,
column1 / (SELECT SUM(column1) FROM Tablea)
FROM Tablea
答案 1 :(得分:0)
您可以使用和窗口函数 - Sum(column1)over() - 给出总和
SELECT column2, column1/(SUM(column1) OVER()) FROM YourTable