Для этого вам просто нужно sum
поднять оператор case
, который проверяет значение.Однако, если вы хотите сделать это только для 100 строк, вам нужно будет выполнить этот запрос к derived table
(или выражению Common Table, если ваша СУБД поддерживает его), чтобы сделать это ограничение числа строк.
Вот пример, который должен работать в большинстве RDBMS (вам может потребоваться заменить TOP
на LIMIT
, в зависимости от вашей RDBMS):
select
sum(
case
when (my_val='X') then
1
else
0
end
)
from
(
select top 100
my_val
from
my_table
) t