SQL中的多重聚合

SQL中的多重聚合,sql,count,average,Sql,Count,Average,我有下表。我需要以某种方式获得贷款编号的平均值和拥有多个贷款编号的人的贷款金额的平均值。我需要以某种方式插入平均值和计数函数 我真的在努力解决这个问题。我也在考虑枢轴函数 如果有人能推荐一个SQL代码,我将不胜感激 我迄今为止的努力: loan_no loan_amt contact date customer_id salesman_id 现在我只是不知道如何也包括avg功能。不知道为什么你需要平均贷款\u不,但你仍然可以通过它- select count (loan_no),

我有下表。我需要以某种方式获得贷款编号的平均值和拥有多个贷款编号的人的贷款金额的平均值。我需要以某种方式插入平均值和计数函数

我真的在努力解决这个问题。我也在考虑枢轴函数

如果有人能推荐一个SQL代码,我将不胜感激

我迄今为止的努力:

loan_no   loan_amt   contact date  customer_id  salesman_id 

现在我只是不知道如何也包括avg功能。

不知道为什么你需要平均贷款\u不,但你仍然可以通过它-

select count (loan_no), tcustomer_id
from table
group by customer_id
having count (loan_no) > 1 

您可以使用两个级别的聚合:


select customer_id, avg(loan_no), avg(loan_amt)
  from (select *, count(*) over(partition by customer_id) cnt
          from table)
 where cnt > 1
 group by customer_id

请将数据作为文本而不是外部图像发布。同时向我们展示,您试图通过发布您尝试的任何查询来解决此问题。请以文本形式发布您的数据。不要链接到图像。阅读:。那么,你还有多远?您是否使用了
分组依据
?请在您的问题中包括样本数据和所需输出,我添加的列应该是什么样的,我到目前为止编写的代码
贷款金额
的平均值是
平均值(贷款金额)
贷款编号
的平均值为
AVG(贷款编号)
。还是你想要别的?如果是,什么?
select avg(num_loans), sum(total) / sum(num_loans)
from (select customer_id, count(*) as num_loans, sum(loan_amt) as total
      from table
      group by customer_id
     ) t 
where num_loans > 1;