#sql
Вопрос:
У меня возникла проблема, когда мне нужно получить количество кортежей со значением выше определенного порогового значения.
Мой стол выглядит примерно так
CREATE TABLE TableName
(
id varchar;
result int;
)
Теперь я хочу сгруппировать кортежи по идентификатору и посмотреть количество объектов, результат которых превышает 50, а также количество объектов с любым значением результата. Я знаю, что счетчик существует, но я не могу понять, как его использовать в этом контексте.
Любая помощь будет высоко оценена!
Комментарии:
1. Помогут примеры данных и желаемые результаты.
Ответ №1:
Если я правильно понимаю, вы можете использовать условную агрегацию:
select id, count(*) as num_rows,
sum(case when value > 50 then 1 else 0 end) as num_rows_value_50
from t
group by id;
Комментарии:
1. Спасибо! Это сделало свое дело 🙂