Запрос с несколькими условиями в SQL

У меня есть таблица MUSICIANS в которой есть поля с названием исполнителя, годом рождения, страной, и активностью (кто выступает, а кто нет. Это логическое поле). Задача такая: составить запрос к базе данных, при выполнении которого будут выдаваться на экран количество выступающих и закончивших выступления исполнителей в каждой из стран.

Я пыталась сделать хоть что-то, но никак не могу понять, как правильно задать условие. Это то, что пока есть:

SELECT  COUNTRY, count(*) as Выступающие, count(*) as Закончившие выступать
FROM MUSICIANS where active = true or (where active = false) group by country ;

Не могли бы вы подсказать, как это сделать.


Ответы (1 шт):

Автор решения: Akina
SELECT country,
       -SUM(active) [Выступающие],
       -SUM(NOT active) [Закончившие выступать]
FROM musicians 
GROUP BY country

В MS Access логическое поле в числовом контексте преобразуется в 0 для FALSE и в -1 для TRUE.

Осталось их просуммировать по стране и нейтрализовать минус.

→ Ссылка