【发布时间】:2021-06-12 00:52:42
【问题描述】:
我想过滤一个表格,只显示总计与平均值相差 ± 3 个标准差的行。
我正在使用的查询是这样的:
SELECT *
FROM AccountsDatabase
WHERE total > (AVG(total) + STDEVP(total) * -3)
AND total < (AVG(total) + STDEVP(total) * +3)`
但我得到了错误:
聚合可能不会出现在 WHERE 子句中,除非它出现在 HAVING 子句或选择列表中包含的子查询中,并且被聚合的列是外部引用。
【问题讨论】:
-
检查
GROUP BY和HAVING -
如果您可以提供与您的问题相关的示例数据和架构,帮助的人可以带来更好的方法。 @fvdev
标签: sql sql-server tsql