乘以计数结果

li9yvcax  于 2021-07-26  发布在  Java
关注(0)|答案(2)|浏览(349)

我有一个名为tablea的表,它有两列amount和一个\u id(唯一id),还有一个名为tableb的表,它有一列b\u id(另一个唯一id)
在表a上执行select将显示如下数据:

Amount | A_ID
1378   | 1
1839   | 2
1237   | 1

表b只是:

B_ID
 1
 2

我希望能够计算一个\u id的条目数量,如果它也存在于b\u id中,那么将tableamunit乘以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
k5ifujac

k5ifujac1#

我希望能够计算一个\u id的条目数量,如果它也存在于b\u id中,那么将tableamunit乘以count函数的结果。
我想你只是想:

select sum(a.amount)
from tablea a join
     tableb b
     on a.a_id = b.b_id;

如果你想要这个 a_id :

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;
yshpjwxd

yshpjwxd2#

使用以下查询:

selct amount, amount/count from
        (select Amount, count(1) as count from TableA A
        inner join TableB B
        on (A.A_ID = B.B_ID)
        group by Amount);

相关问题