You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Databricks SQL计算各质量等级总占比及组内通过/失败占比

Databricks SQL 质量分组状态占比统计方案

核心逻辑是通过条件聚合分别统计各质量组内不同状态的记录数,结合窗口函数计算全局占比,无需多表关联,执行效率高。

可直接运行的查询代码

SELECT 
  Quality,
  ROUND(COUNT(*) * 100.0 / SUM(COUNT(*)) OVER (), 2) AS PercentageTotal,
  ROUND(SUM(CASE WHEN Status = 'Passed' THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 2) AS PercentagePassed,
  ROUND(SUM(CASE WHEN Status = 'Failed' THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 2) AS PercentageFailed
FROM test
-- 若需统计指定日期数据,取消下方注释并替换日期值
-- WHERE RunDate = '2024-01-01'
GROUP BY Quality
ORDER BY PercentageTotal DESC;

逻辑说明

  • PercentageTotal:和原有查询逻辑一致,返回对应质量等级的表占全量测试表的比例。这里用窗口函数SUM(COUNT(*)) OVER ()直接获取全表总记录数,比单独写子查询计数执行效率更高。
  • PercentagePassed:通过CASE WHEN筛选组内Status='Passed'的记录计数,除以当前质量组的总记录数,得到组内测试通过占比。
  • PercentageFailed:和通过率逻辑一致,统计组内Status='Failed'的记录占比。
  • 外层ROUND函数用于将结果保留2位小数,不需要可直接删除。

返回结果示例

QualityPercentageTotalPercentagePassedPercentageFailed
Silver64.0099.001.00
Bronze33.0092.008.00
Gold3.00100.000.00

内容的提问来源于stack exchange,提问作者Shawn N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 06:51:37