【问题标题】:How would I get total balance after each transaction每次交易后我如何获得总余额
【发布时间】:2020-11-15 05:29:00
【问题描述】:

大家好。我正在拼命寻求帮助。 Please take a look at this image first. 谢谢。现在

请看下表。最右边的列剩余余额持有 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();

感谢您的关注。

【问题讨论】:

  • 你需要一个子查询来实现这个。

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


【解决方案1】:

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

我会这样做:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 1970-01-01
    • 2021-10-11
    • 2015-11-09
    • 1970-01-01
    • 2019-03-28
    • 2022-01-01
    相关资源
    最近更新 更多