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

汇总每个组的SQL查询

sql
  •  0
  • Volkan  · 技术社区  · 5 年前

    我需要帮助。我需要总结每组测试。结果应该如下所示:

    name_of_the_group  |  all_test_cases  |  passed_test_cases  |  total_value
    numerical stability          4                    4                 80
    memory usage                 3                    2                 20
    corner cases                 0                    0                  0
    performance                  2                    0                  0
    

    柱:

    1. 所有测试案例(组中的测试数量)
    2. 通过测试用例(状态为OK的测试用例数)
    3. 总_值(此组中通过测试的总值)

    http://sqlfiddle.com/#!17/e96109

    1 回复  |  直到 5 年前
        1
  •  2
  •   Andrew    5 年前

    简单条件聚合:

    select
      t.name,
      count(*) as total,
      sum(case when c.status = 'OK' then 1 else 0 end) as passed,
      sum(case when c.status = 'OK' then test_value end) as score
    from
    test_groups t
    left join test_cases c
     on t.name = c.group_name
     group by t.name
    

    Fiddle