条件满足时对每个组中的行进行计数

提格

我的桌子如下图所示:

         ID            Date     IsFull
         1          2020-01-05    0 
         1          2020-02-05    0  
         1          2020-02-25    1  
         1          2020-03-01    1
         1          2020-03-20    1

我想显示ID = 1的月数

给定月份的总和(isfull)/ count(*)> .6(当月60%以上的时间isfull = 1)

所以最终的输出应该

 ID     HowManyMonths
  1       1     --------(Only month 3----2 out 2 cases)

如果问题变为sum(isfull)/ count(*)> .4

那么最终的输出应该是

  ID     HowManyMonths
   1       2     --------(Month 2 and Month 3)

谢谢!!

专线小巴

您可以使用两种聚合级别来执行此操作:

select id, count(*) howManyMonths
from (
    select id
    from mytable
    group by id, year(date), month(date)
    having avg(1.0 * isFull) > 0.6
) t
group by id

子查询按id,年和月进行聚合,并使用having子句对满足成功率的组进行筛选(avg()为此非常方便)。外部查询会计算每个ID通过目标费率多少个月。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在EXCEL中,尝试对满足3个条件的行进行计数:

如果满足条件,则对行进行计数

R函数对满足条件的行进行计数

自满足日期条件以来对行进行计数

使用pandas方法链接对任何一组进行过滤的行满足每个组中的条件

按组对行进行计数

如果条件满足,则对 Pandas DataFrame 中的行进行配对

SQL Oracle中按行进行条件条件项计数

获取组中每个条件的单独计数

从条件开始对行进行计数

SQL查询可对按ID分组的行进行计数,但可限制每个组的计数

用多个匹配条件对excel中的行进行计数

如何根据特定条件对SSIS中的行进行计数?

根据可选过滤条件在Excel中对行进行计数

使用 SQL 中的组条件进行计数

对行进行分组并对每个组进行排序

DataFrames.jl:在定义计数列名称时按组对行进行计数

在PHP中对行进行计数时得到错误的数字

将顺序计数器添加到数据帧中的组,但在满足条件时跳过增量

满足条件时的 SQL 计数

如何对每个组的行进行排序 ( PostgreSQL )

SQL对一组列等于特定值的组中的行进行计数

将多行与前一行进行比较并在满足条件时减去pandas

Excel-如何使用条件对行进行计数,但每个ID仅计算一次

MySQL根据条件对行进行计数

根据多个条件对行进行计数

使用IF对行进行计数并按条件插入

在R中满足条件时按组AND顺序排序

SQL:对第一个条件为true的行进行计数,其中column =一个值,另一列与该组中的值相同?