📌  相关文章
📜  如何在“JPQL”中获取具有相同 id 的列的总和? - SQL (1)

📅  最后修改于: 2023-12-03 14:52:53.150000             🧑  作者: Mango

如何在“JPQL”中获取具有相同 id 的列的总和?

如果你正在使用Java Persistence API(JPA), 可以使用JPQL(Java Persistence Query Language)来查询数据库中的实体对象。在JPQL中获取具有相同id的列的总和可以通过聚合函数和GROUP BY子句实现。

例如,如果你有一个名为“Order”的实体类,其中包含订单编号(id)和订单金额(amount)属性,你可以使用以下代码来获取具有相同订单编号的订单金额的总和:

TypedQuery<Object[]> query = entityManager.createQuery(
    "SELECT o.id, SUM(o.amount) FROM Order o GROUP BY o.id", Object[].class);
List<Object[]> results = query.getResultList();

在上面的代码示例中,我们使用了JPQL中的聚合函数SUM()来计算订单金额总和,并使用GROUP BY子句按订单编号分组。我们还使用了SELECT语句来选择id和计算的总和。由于查询的结果是一组以id和总和为元素的数组,我们使用了Object[]作为查询结果的类型。

最后,我们调用了query.getResultList()方法来获取查询结果,并将其存储在名为results的List中。

以上就是在JPQL中获取具有相同id的列的总和的介绍,希望对你有所帮助。