gpt4 book ai didi

sql - 如何显式显示 count(*) 等于 0 的行

转载 作者:搜寻专家 更新时间:2023-10-30 22:14:42 27 4
gpt4 key购买 nike

我在 DB2 中运行的查询

select  yrb_customer.name, 
yrb_customer.city,
CASE count(*) WHEN 0 THEN 0 ELSE count(*) END as #UniClubs
from yrb_member, yrb_customer
where yrb_member.cid = yrb_customer.cid and yrb_member.club like '%Club%'
group by yrb_customer.name, yrb_customer.city order by count(*)

向我显示属于其中包含“俱乐部”一词的俱乐部的人,并显示他们所属的俱乐部数量 (#UniClubs) 以及他们的姓名和所在城市。然而,对于不属于此类俱乐部的学生,我仍然希望他们出现,但只有 0,而不是被隐藏,这就是现在正在发生的事情。我无法使用 count(*) 获得此功能。有人可以阐明一下吗?如果以上内容不够清楚,我可以进一步解释。

最佳答案

我不熟悉 DB2,所以我在黑暗中尝试,但试试这个:

select  yrb_customer.name, 
yrb_customer.city,
CASE WHEN yrb_member.club like '%Club% THEN count(*) ELSE 0 END as #UniClubs
from yrb_member, yrb_customer
where yrb_member.cid = yrb_customer.cid
group by yrb_customer.name, yrb_customer.city order by count(*)

基本上您不想在 WHERE 子句中过滤 %Club%,因为您希望返回所有行。

关于sql - 如何显式显示 count(*) 等于 0 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15889305/

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