gpt4 book ai didi

SQL Server - 使用计数总和

转载 作者:行者123 更新时间:2023-12-01 12:54:54 25 4
gpt4 key购买 nike

我正在使用 SQL Server。我需要使用的公式是(好-坏)/Total_Responses。当值为 >=9 且值为 <=6 时为良好。

我的数据是:

DATE        Q1  Q2
2012-03-04 9 9
2012-03-04 8 8
2012-03-04 7 9
2012-03-04 4 NA
2012-03-04 10 10
2012-03-04 8 3
2012-03-04 3 4
2012-03-04 2 6
2012-03-04 6 8
2012-03-04 NA 6

我知道我将不得不使用“CASE WHEN ISNUMERIC(Q1)=1”来确保它不使用 NA 值(它们存储为 Nvarchar)

所以公式最终会变成 (5-8)/18=-0.16666所以总的来说,我试图让数据看起来像:

DATE        Promotor_Score
2012-03-04 -0.16666

谢谢!

最佳答案

这样做有用吗?

SELECT  Date,
CAST((SUM(CASE WHEN ISNUMERIC(Q1) != 1 THEN 0
WHEN CAST(Q1 AS int) >= 9 THEN 1
WHEN CAST(Q1 AS int) <= 6 THEN -1
ELSE 0 END)
+ SUM(CASE WHEN ISNUMERIC(Q2) != 1 THEN 0
WHEN CAST(Q2 AS int) >= 9 THEN 1
WHEN CAST(Q2 AS int) <= 6 THEN -1
ELSE 0 END)) AS float)
/ (SUM(CASE WHEN ISNUMERIC(Q1) != 1 THEN 0
ELSE 1 END)
+ SUM(CASE WHEN ISNUMERIC(Q2) != 1 THEN 0
ELSE 1 END))
FROM Questions
GROUP BY Date

或者如果“NA”是唯一的非数字值,则对其进行显式测试。

关于SQL Server - 使用计数总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10386107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com