gpt4 book ai didi

sql - 我如何将 Case 语句的 Null 值返回到 Group by

转载 作者:行者123 更新时间:2023-12-04 22:07:03 24 4
gpt4 key购买 nike

栏目 Elites.HasInsurance是 :

HasInsurance

true
true
true

我将通过以下命令对这一列进行分组:
Select CASE WHEN e.HasInsurance=1 THEN N'YES'  ELSE N'NO' END AS HasInsurance, COUNT(*) as CountHasInsurance
from
Elites e
group by e.HasInsurance

得到的输出等于:
YES   ==>   3

但我想得到以下输出:
YES   ==>   3
NO ==> 0

我不想在数据库中创建一个新表。

最佳答案

您需要一个 LEFT JOIN .我会推荐:

select v.hasInsuranceStr, count(e.hasInsurance) as CountHasInsurance
from (values (N'Yes', 'true'), (N'No', 'false')
) v(hasInsuranceStr, hasInsurance) left join
Elites e
on e.hasInsurance = v.hasInsurance
group by v.hasInsuranceStr;

一些注意事项:
  • 这不使用名称 hasInsurance对于第一列。那已经是一个整数值。我推荐一个不同的名字。
  • VALUES()有数字和查找值。
  • 大概 true表示一个字符串,因为 SQL Server 不支持 bool 类型。
  • 关于sql - 我如何将 Case 语句的 Null 值返回到 Group by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54963177/

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