我正在尝试从设置的100个结果中计算条件的数量。
示例:在最近设置的100个动作中,“ X”有多少个?
我不太确定从哪里开始。
我对SQL还是很陌生,我已经尝试了内部联接,子查询等,但是似乎无法弄清楚。我觉得这很简单。
谢谢!
答案 0 :(得分:2)
为此,您只需要sum
向上case
语句来检查该值。但是,如果您只想对100行执行此操作,则需要针对derived table
(或公共表表达式,如果RDBMS支持)执行此查询以限制行数。
以下是适用于大多数RDBMS的示例(根据您的RDBMS,您可能需要将TOP
替换为LIMIT
,
select
sum(
case
when (my_val='X') then
1
else
0
end
)
from
(
select top 100
my_val
from
my_table
) t
答案 1 :(得分:1)
@RToyo的答案适用于任何DBMS。
在Snowflake中,您可以使用IFF
稍微简化一下操作:
select
sum(IFF(my_val='X', 1, 0))
from
(
select top 100
my_val
from
my_table
) t