Как посчитать количество участников, вывести результаты в сгруппированные таблицы, используя псевдонимы?

0

Я пытаюсь вывести количество членов, у которых есть членство Basic и 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),
  • 0
    Можете ли вы дать пример таблицы данных, которые вы получаете?
Теги:
db2

1 ответ

3
Лучший ответ

Это работает почти во всех СУБД

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');

если он доступен в РСУБД - это выглядит лучше

select 
  count(*) FILTER (WHERE club='Basic') as #Basic
, count(*) FILTER (WHERE club='AAA')   as #AAA 
from yrb_member
where club in ('Basic', 'AAA');
  • 0
    отлично работает первый скрипт, есть ли способ связаться с вами напрямую? У меня есть еще несколько связанных вопросов.
  • 0
    Задавайте вопросы по stackoverflow - это самый быстрый способ

Ещё вопросы

Сообщество Overcoder
Наверх
Меню