如何计算成员数,使用别名在分组表中输出结果?
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');
【讨论】:
完善第一个剧本作品,有没有直接联系方式?我还有一些相关的问题。 在 *** 上提问 - 这是最快的方法以上是关于如何计算成员数,使用别名在分组表中输出结果?的主要内容,如果未能解决你的问题,请参考以下文章