[英]Problems with using an aggregate function
我正在尝试采用单个值,并将它们除以一列中的值之和。
即
SELECT (column1 / SUM(column1))
FROM Table a
这很好,但是当我包含另一条必要的信息时...
SELECT column2
,(column1 / SUM(column1))
FROM Table a
然后,它返回选择列表中的Column1无效,因为它既不包含在聚合函数中,也不包含在GROUP BY子句中。
然后,如果我将column2包括在group by子句中,那么我的SUM(column1)只是根据column2的值重新填充了先前的值。...违背了我的SUM的目的。
救命?
使用完整的显式子查询来获取column1的总和:
SELECT column2,
column1 / (SELECT SUM(column1) FROM Tablea)
FROM Tablea
您可以使用求和窗函数-Sum(column1)over()-给出总和
SELECT column2, column1/(SUM(column1) OVER()) FROM YourTable
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.