我正在尝试回答以下问题:列出交易,并列出投资额高于每个产品系列平均投资额的客户。
我的数据示例如下:
产品线表
ProductLineID ProdLine
1 Annuity
2 Disability Insurance
3 Life Insurance
产品表
Product SupID Commission PLID
10 Payments 107 45 3
20 Payments 107 45 3
Accent-Life 120 35 3
交易记录表包含以下列
mSRSnum mClientLName mClientFname mProduct mAmount
我的代码如下。该代码吐出太多值错误。还有另一种方法可以回答上面的问题吗?
select mSRSnum, mclientFname, mClientLname
From Transaction
where mamount > (select Prodline, AVG(mAmount) from Productline
group by Prodline)
答案 0 :(得分:0)
使用窗口功能:
select mSRSnum, mclientFname, mClientLname
from (select t.*,
avg(mAmount) over (partition by productline) as avg_mAmount
from Transaction t
) t
where mAmount > avg_mAmount;