gpt4 book ai didi

sql-server - SQL Server 2000,获取 COUNT(DISTINCT ID) 的条件是我无法写入 WHERE?

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

首先,我不想使用“连接”,因为这会使我的查询更长且难以阅读。所以我需要做的必须是使用相同的 SELECT 语句。

myTable 中的列是 A、B、C、D、时间、ID 和 H

H columnd 告诉记录是“打开”还是“关闭”,这是我的查询的样子。

SELECT 
A,
B,
C,
D,
COUNT(DISTINCT ID) AS numberOfRecords,
SUM(time) / COUNT(DISTINCT ID) AS averageTimeOfAllRecords
FROM myTable
WHERE ISNUMERIC(A)=1 AND A IN (SELECT A FROM myTable2)
GROUP BY A,B,C,D

我需要上面的查询返回带有结果的另一列:COUNT(DISTINCT ID) WHERE H = 'Open',以便我可以获得 numberOfOpenRecords。

我无法将新条件写入“WHERE”,因为这会影响结果,例如 numberOfRecords。

希望我解释了我的问题。

感谢您的帮助。

最佳答案

由于 count 不计算 null 值,因此您可以:

count(distinct case when H = 'Open' then id else null end)

关于sql-server - SQL Server 2000,获取 COUNT(DISTINCT ID) 的条件是我无法写入 WHERE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2385705/

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