Sql 需要按类别查找计数差异

Sql 需要按类别查找计数差异,sql,google-bigquery,sum,Sql,Google Bigquery,Sum,说明: 需要找到两个表之间保费不匹配的总和-如果特定类别的保费总和与代理表不匹配,则我希望捕获该值 期望结果集 保费总额应按类别分组,在这种情况下,演示中的MTT总额为219,但在代理表中的MTT总额为221 因此,在这种情况下,我的查询应该捕获不匹配,并将结果如下所示(仅针对不匹配,如果没有任何不匹配,则显示0) 演示的总额(溢价)减去代理的总额(溢价)考虑以下方法 select category, sum(premium) as diff from ( select premium, c

说明:

需要找到两个表之间保费不匹配的总和-如果特定类别的保费总和与代理表不匹配,则我希望捕获该值

期望结果集


保费总额应按类别分组,在这种情况下,演示中的MTT总额为219,但在代理表中的MTT总额为221

因此,在这种情况下,我的查询应该捕获不匹配,并将结果如下所示(仅针对不匹配,如果没有任何不匹配,则显示0)


演示的总额(溢价)减去代理的总额(溢价)

考虑以下方法

select category, sum(premium) as diff
from (
  select premium, category from Demo 
  union all
  select -premium, category from Agent 
)
group by category

此查询将为我们提供保费总额(按类别分组),但我的问题是,不同的保费应按表A和表B中的类别列进行分组,如果我们确实看到ex不匹配:表1中“MTT”类别的保费总额为450,而“MTT”类别的保费总额为400在表2中,我只需要获取这些记录,然后执行平均值calc@Ram . . . 这基本上回答了你在这里提出的问题。你的问题中没有提到平均值。您可能需要一个
having
子句,但这似乎是对查询的一个小调整。