如何计算成员数,使用别名在分组表中输出结果?

Posted

技术标签:

【中文标题】如何计算成员数,使用别名在分组表中输出结果?【英文标题】:How to count the number of membership, output the results in a grouped tables using aliases? 【发布时间】:2018-06-25 03:55:26 【问题描述】:

我正在尝试以类似这样的格式输出拥有基本和 AAA 会员资格的会员数量

#BASIC      #AAA
----------- -----------
     43          18

这是我的代码:

select count(club) as #Basic, count(club) as #AAA 
from yrb_member
where club = 'Basic' 
group by club;

但我不断得到这样的输出:

#BASIC      #AAA
----------- -----------
     18          18
     43          43

我将如何纠正这个问题?

数据库数据都是varchars:

insert into yrb_member (club, cid) values
('Basic',1),

【问题讨论】:

你能提供你正在检索的示例表数据吗? 【参考方案1】:

这几乎适用于所有 RDBMS

select 
  sum(CASE WHEN club='Basic' THEN 1 ELSE 0 END) as #Basic
, sum(CASE WHEN club='AAA' THEN 1 ELSE 0 END)   as #AAA 
from yrb_member
where club in ('Basic', 'AAA');

如果在 RDBMS 中可用 - 这看起来更好

select 
  count(*) FILTER (WHERE club='Basic') as #Basic
, count(*) FILTER (WHERE club='AAA')   as #AAA 
from yrb_member
where club in ('Basic', 'AAA');

【讨论】:

完善第一个剧本作品,有没有直接联系方式?我还有一些相关的问题。 在 *** 上提问 - 这是最快的方法

以上是关于如何计算成员数,使用别名在分组表中输出结果?的主要内容,如果未能解决你的问题,请参考以下文章

COUNT() 返回分组表中的总行数

如何快速访问作为数组成员的结构成员

我如何使用nodejs获取不和谐的成员数

R语言计算每个分组的行数并将结果添加到dataframe中实战

统计分组返回的记录数

在网页上显示 Discord 服务器成员数?