Sql 乘以计数结果
我有一个名为TableA的表,有两列,Amount和a_ID a unique ID,还有一个名为TableB的表,其中一列有B_ID,另一列有唯一ID 在表a上进行选择将显示如下数据:Sql 乘以计数结果,sql,oracle,select,Sql,Oracle,Select,我有一个名为TableA的表,有两列,Amount和a_ID a unique ID,还有一个名为TableB的表,其中一列有B_ID,另一列有唯一ID 在表a上进行选择将显示如下数据: Amount | A_ID 1378 | 1 1839 | 2 1237 | 1 表B简单地说: B_ID 1 2 我希望能够计算B_ID中存在的A_ID的条目数,然后将TableA amount乘以count函数的结果。这就是我所尝试的: SELECT ( SELECT Count(*)
Amount | A_ID
1378 | 1
1839 | 2
1237 | 1
表B简单地说:
B_ID
1
2
我希望能够计算B_ID中存在的A_ID的条目数,然后将TableA amount乘以count函数的结果。这就是我所尝试的:
SELECT (
SELECT Count(*)
FROM TableA a, TableB b
where a.A_ID = b.B_ID
) id_count, SUM(id_count * a.amount)
from TableA a
GROUP BY a.A_ID
预期结果如下:
total_Amount | A_ID
2615 | 1
1839 | 2
我希望能够计算B_ID中存在的A_ID的条目数,然后将TableA amount乘以count函数的结果
我想你只是想:
select sum(a.amount)
from tablea a join
tableb b
on a.a_id = b.b_id;
如果您希望按照a_id执行此操作:
使用以下查询:
从中选择金额、金额/计数
从表A中选择金额count1作为计数
内连接表B
在A.A_ID=B.B_ID上
按数量分组;
显示你想要的结果。@GordonLinoff很抱歉,我添加了我的预期结果。第二个答案就是我想要的,谢谢你的帮助!
select a.a_id, sum(a.amount)
from tablea a join
tableb b
on a.a_id = b.b_id
group by a.a_id;