Sql 每个基金和客户所需的平均值
如何计算可能拥有多个基金的客户的平均基金余额 例如,成员32只有42515.4452的基金余额Sql 每个基金和客户所需的平均值,sql,sql-server,tsql,Sql,Sql Server,Tsql,如何计算可能拥有多个基金的客户的平均基金余额 例如,成员32只有42515.4452的基金余额 但对于428成员,我想返回(2400.6078+8317.434)/2=5359.021 对于成员1214,我需要(2043.6056+3110.9399+15596.3102)/3=681.2019 我尝试了以下方法,不确定我做错了什么 SELECT [dim_member_key], AVG(fund_balance) OVER(PARTITION BY fund_code) AS
但对于428成员,我想返回(2400.6078+8317.434)/2=5359.021
对于成员1214,我需要(2043.6056+3110.9399+15596.3102)/3=681.2019 我尝试了以下方法,不确定我做错了什么
SELECT [dim_member_key],
AVG(fund_balance) OVER(PARTITION BY fund_code) AS AvgAmount
FROM #test;
如果您希望每个客户都有此功能,那么这应该是按键划分的
分区:
SELECT dim_member_key,
AVG(fund_balance) OVER (PARTITION BY dim_member_key) AS AvgAmount
FROM #test;
使用聚合可以更简洁地获得相同的信息:
SELECT dim_member_key,
AVG(fund_balance) OVER (PARTITION BY dim_member_key) AS AvgAmount
FROM #test
GROUP BY dim_member_key;
酷,没错,当我写它的时候,我只是觉得我需要按成员进行分区。:-)谢谢,请不要使用图像作为数据,使用表格文本。