gpt4 book ai didi

tsql - 计算每个用户的有效值

转载 作者:行者123 更新时间:2023-12-02 08:46:27 25 4
gpt4 key购买 nike

我有一个包含值列表的表格。 -1 为空值:

 ID    FieldType1A FieldType1B FieldType2A FieldType2B Person
1 15 14 10 -1 1
2 16 -1 12 10 1
3 17 -1 5 6 1
4 6 -1 7 -1 2
...

所以结果应该是:

 Person      FieldType1     FieldType2
1 4 5
2 1 1

有一个包含用户 ID 列表的用户表,是否有一种方法可以迭代该值列表以在结果集中生成人员列表(0 表示字段类型完全有效,因为它只是计数)?我认为 T-SQL Column Values Count 的答案是朝着我尝试的方向迈出的一步,但不确定如何组合相同的列(A/B 允许列出答案)。那而且我有兴趣组合所有有效值,而不是尝试计算每个有效响应的数量。

最佳答案

您可以使用CASE 表达式将所有非负 1 值更改为 1,将 -1 值更改为 0,然后将它们相加。

SELECT Person, 
SUM(CASE WHEN FieldType1A <> -1 THEN 1 ELSE 0 END) +
SUM(CASE WHEN FieldType1B <> -1 THEN 1 ELSE 0 END) AS FieldType1,
SUM(CASE WHEN FieldType2A <> -1 THEN 1 ELSE 0 END) +
SUM(CASE WHEN FieldType2B <> -1 THEN 1 ELSE 0 END) AS FieldType2
FROM YourTable
GROUP BY Person

关于tsql - 计算每个用户的有效值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12161471/

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