簡體   English   中英

按條件分組的雪花計數

[英]Snowflake Count Group By With Condition

我需要測量“每個 Object 的總查詢失敗數/每個對象的總查詢數”的比率

我的數據如下所示。

查詢編號 object 地位
1個 一種 成功
2個 一種 失敗
3個 一種 失敗
4個 b 成功
5個 b 失敗

我可以使用下面的方法來衡量每個 object 的總失敗數/總失敗數,例如

select
object
count(distinct query_id) as num_distinct_queries
ratio_to_report(count(distinct query_id) over () as percent_of_total_fails
from my_table
where status='fail'
group by object
order by 3
object num_distinct_queries percent_of_total_fails
一種 2個 0.666666
b 1個 0.333333

我想實現類似的目標:

object num_distinct_queries 失敗次數 percent_of_fails_per_table
一種 3個 2個 0.666666
b 2個 1個 0.5

任何建議如何實現第二個選項? 每 object 的總失敗數/每 object 的總查詢數。

使用COUNT_IF執行條件聚合:

select object,
  count(distinct query_id) as num_distinct_queries,
  count_if(status='fail') AS num_fails,
  count_if(status='fail')/count(*) as percent_of_total_fails
from my_table
group by object
order by 3;

Output:

在此處輸入圖像描述

數據庫<>小提琴演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM