Postgresql как найти разные значения и подсчитать

#sql #postgresql #count

#sql #postgresql #подсчитать

Вопрос:

У меня есть таблица с идентификатором, данными 1 и несколькими другими столбцами… данные 1 также содержат NA.

Мне нужно найти отдельный идентификатор, за которым следует общее количество каждого идентификатора и количество для каждого идентификатора, данные которого имеют NA. Мне нужно определить, сколько значений NA загружается для каждого идентификатора.

Спасибо, Сай

Ответ №1:

 select 
  id,
  count(*) as total_count,
  count(*) filter (where data1 = 'NA') as na_count
from _table 
group by id;
 

Ответ №2:

Вы можете использовать стандартный sql conditional aggregation следующим образом:

 Select id, count(1) as total,
       Count(case when data1='NA' then 1 end) as NA_count
  From your_table
Group by id;