如何使用avg()

时间:2019-11-18 02:36:48

标签: sql sql-server

我对SQL还是很陌生,无法解决。

我要尝试的是选择ACCOUNT_ID,CUST_ID,PRODUCT_CD,OPEN_BRANCH_ID,其中可用余额低于平均可用余额。

SELECT ACCOUNT_ID, CUST_ID, PRODUCT_CD, OPEN_BRANCH_ID
FROM Banking.Account
HAVING AVAIL_BALANCE < AVG(AVAIL_BALANCE);

如果我输入HAVING AVAIL_BALANCE <7000;有用。

enter image description here

1 个答案:

答案 0 :(得分:1)

使用join

select t1.ACCOUNT_ID, t1.CUST_ID, t1.PRODUCT_CD, t1.OPEN_BRANCH_ID from 
Banking.Account t1 
Inner join (
    SELECT avg(AVAIL_BALANCE) avg_bal, ACCOUNT_ID, CUST_ID
    FROM Banking.Account group by  ACCOUNT_ID, CUST_ID
) t2 on t1.ACCOUNT_ID = t2.ACCOUNT_ID and t1.CUST_ID = t2.CUST_ID
where t1.AVAIL_BALANCE < t2.avg_bal;
相关问题