每次交易后我如何获得总余额

时间:2020-07-25 13:32:13

标签: spring spring-boot spring-mvc spring-data-jpa jpql

嗨,伙计们。我拼命寻求帮助。 Please take a look at this image first. 谢谢。现在

请查看下表。最右边的栏REMAINING BALANCE持有credit_amount-debit_amount的总和。但是,当我添加新的信用额时,它将在整个列中更改。例如,“剩余余额”列的值为102500.0。如果我加了500点功劳,应该只能在该特定行中给我102500 + 500 = 103000。 102500将在上一行保持不变。但是我的问题是,它在整个列中都改变了。

我已经使用此存储库对贷方总额进行了总计,并减去了借方总额。

// Find remaining balance
@Query("SELECT SUM(b.credit_amount - b.debit_amount) FROM Mosque b")
double remainingBalance();

感谢您的关注。

1 个答案:

答案 0 :(得分:1)

好吧,似乎您需要在查询中指定一个条件,否则,SQL查询(或您的情况下的JPQL)将应用于整个表...

我会做类似的事情:

@Query("SELECT SUM(b.credit_amount - b.debit_amount) FROM Mosque b where b.id =?")
double remainingBalance(int id);

否则,没有条件,对于您拥有的每个域对象,您将查询整个表。因此,您将始终获得相同的结果。如果在数据库中运行此查询,您将看到只有一个结果,因为SUM会将所有行“累加”在一起。