gpt4 book ai didi

sql - 我如何根据以下条件编写此 sql

转载 作者:行者123 更新时间:2023-12-04 20:16:55 26 4
gpt4 key购买 nike

SELECT TestName,
SUM(TestFee) AS TestFee ,
COUNT(*) "No of Tests"
FROM ALLPATIENTINFO
WHERE ReqDate BETWEEN '2016-11-04' AND '2016-11-05'
GROUP BY TestName

这里只显示测试名称,总计,以及与日期对应的计数。但我想显示所有保存在数据表中的测试名称。如果测试名称超出此日期,则它仅显示测试名称,测试费用和计数将为零。

最佳答案

这里的一个选择是将 WHERE 子句的逻辑移动到 SELECT 子句中并使用条件聚合:

SELECT TestName,
SUM(CASE WHEN ReqDate BETWEEN '2016-11-04' AND '2016-11-05'
THEN TestFee ELSE 0 END) AS TestFee,
SUM(CASE WHEN ReqDate BETWEEN '2016-11-04' AND '2016-11-05'
THEN 1 ELSE 0 END) AS "No of Tests in Range",
COUNT(*) AS "Total No of Test"
FROM ALLPATIENTINFO
GROUP BY TestName

这将保证出现在原始数据集中的每个测试名称也将出现在结果集中。

关于sql - 我如何根据以下条件编写此 sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40439724/

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