GBQ SQL: если значение X <> 0 в столбце A, то подсчитать различные в столбце B - PullRequest
0 голосов
/ 13 июля 2020

У меня есть следующая таблица.

Sales   Name
10      Bob
12      Bob
0       Jane
20      Jane
0       Jill

Я хочу подсчитать отдельные имена, но только для строк, в которых продажи не равны нулю.

Для приведенной выше таблицы , Я должен получить ответ 2 (Боб, Джейн).

Думаю, мне следует использовать оператор Case When, но не знаю, как это сделать.

CASE WHEN Sales <> 0 THEN COUNT DISTINCT Name...

1 Ответ

3 голосов
/ 13 июля 2020

Вы можете использовать довольно простой запрос:

select count(distinct name)
from t
where sales <> 0;

Если вам нужны только имена, вы можете использовать array_agg() или:

select distinct name
from t
where sales <> 0;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...