代码之家  ›  专栏  ›  技术社区  ›  user2529589

获取Snowflake SQL中布尔列的true百分比

  •  0
  • user2529589  · 技术社区  · 2 年前

    Snowflake SQL中是否有函数可以获取布尔列的百分比?

    例如,如果我的数据是这样的:

    身份证件 类别 布尔值
    1. A. 符合事实的
    2. A. 错误的

    我想用 RATIO_TO_REPORT() 得到:

    类别 PCT
    A. 0.50

    一个想法是从CTE中的布尔值创建一个数字列,然后使用它生成一个pct,然而,我有很多数据,所以我想知道是否有更快的方法(即我缺少的一些本机sql函数或方法)。

    此外,我想解决一个以上分组列(如category2)和一个以上布尔列(如boolean2)的类别

    1 回复  |  直到 2 年前
        1
  •  1
  •   Thorsten Kettner    2 年前

    有条件地计数并除以总计数:

    select category, count_if(boolean) / count(*)
    from mytable
    group by category
    order by category;