gpt4 book ai didi

sql - 如何在 select from where group by 中获取 count(*) 值 0

转载 作者:行者123 更新时间:2023-12-02 14:10:15 25 4
gpt4 key购买 nike

如果没有与条件匹配的行,我尝试获取计数值 0。

我有一张大 table 。但是,我发布了一个截断的表格,因为它解释了我想要的内容。

示例

表1:

**name   year   title**
name1 2008 title1
name2 2009 title2
name3 2010 title1
name1 2008 title2
name4 2009 title1
name2 2008 title2

我想显示年份=2008 的每个名称的行数。所以,如果与 2008 年没有行的话。应显示名称及其计数 0。

输出应该是:

**name   count**
name1 2
name2 1
name3 0
name4 0

解决方法:

select p.name,(select count(*) 
from table1 b
where b.name=p.name) as count
from table1 p
where p.year=2008;

尝试了更多。但是,它们都不起作用。

最佳答案

试试这个:

select p.name,
count(case when p.year=2008 then 1 end) as count
from table1 p
group by p.name

查询使用条件聚合来有条件地计算year=2008 p.name 值的出现次数。

关于sql - 如何在 select from where group by 中获取 count(*) 值 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36279227/

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