gpt4 book ai didi

java - 根据表子集的最大值获取行

转载 作者:行者123 更新时间:2023-12-04 00:40:11 25 4
gpt4 key购买 nike

我想根据一列的值过滤表格,然后获取每个值的最大值。

例如

id | value
-----------
0 | 10
0 | 22
0 | 50
1 | 33
1 | 4
2 | 5
2 | 23
2 | 33
3 | 22
3 | 50

按ID为2和3的行过滤,然后取每个id的最大值

id | value
-----------
2 | 33
3 | 50

如何通过 hibernate 使用它?

这是我的尝试:

    List<int> ids = ... // Retreived from elsewhere

Disjunction disjunction = Restrictions.disjunction();
for(int id: ids){
disjunction.add(Restrictions.eq("id", id)); // Specify which IDs
}

@SuppressWarnings("unchecked")
List<Item> items= (List<Item>) sessionFactory.getCurrentSession()
.createCriteria(Item.class)
.add(disjunction)
.setProjection(
Projections.projectionList()
.add(Projections.max("value"))
.add(Projections.groupProperty("id")
)
)
.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
.list();

这只是给我最高值的“id”(例如 3,而不是整行)

我正在尝试在 spring mvc 应用程序中执行此操作。

提前致谢

最佳答案

select MAX(id),max(value) from ABCD where id in (110,56001) group by id

尝试在表单中执行此查询以获得预期的输出。

关于java - 根据表子集的最大值获取行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32245752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com