小编Joe*_*oel的帖子

如何根据计算结果过滤行

以下代码创建了一个新列"ZScore"

SELECT [Cardholder Name], [Debit Amount], ([Debit Amount] - AVG([Debit Amount]) OVER ()) / (STDEV([Debit Amount]) OVER ()) as [ZScore]
FROM ['Card Data']
ORDER BY [ZScore] DESC;
Run Code Online (Sandbox Code Playgroud)

我想要做的只是显示ZScore> = 3的行.我尝试了以下但是一切似乎都抛出错误.

SELECT [Cardholder Name], [Debit Amount], ([Debit Amount] - AVG([Debit Amount]) OVER ()) / (STDEV([Debit Amount]) OVER ()) as [ZScore]
FROM ['PCard Output']
HAVING (([Debit Amount] - AVG([Debit Amount]) OVER ()) / (STDEV([Debit Amount]) OVER ())) > 3
ORDER BY [ZScore] DESC;
Run Code Online (Sandbox Code Playgroud)

仅显示计算出的z得分> = 3的行的正确方法是什么?

sql t-sql sql-server

1
推荐指数
1
解决办法
31
查看次数

标签 统计

sql ×1

sql-server ×1

t-sql ×1