gpt4 book ai didi

mysql - Hibernate基于最大年份和最大月份的排序表,并使用条件按ID分组

转载 作者:行者123 更新时间:2023-11-29 23:03:24 26 4
gpt4 key购买 nike

我很难表示这个查询,该查询是我为从给定的“uid”中选择最大月份和最大年份行而编写的。我有 6 个数据,其中 3 个数据的 uid 为“4”,其他 3 个数据的 uid 为“5”。我想从 uid 4 和 5 获取最大月份和最大年份数据。这是我得到此结果的条件查询。

Size of result list: 2
uID: 5 nID: cdf Month: 11 Year: 2012
uID: 4 nID: f58 Month: 10 Year: 2012

但是当我将 uid 年份从 2012 年更改为 2013 年时,它仅返回 uid 4 的行。

DetachedCriteria maxYearQuery = DetachedCriteria.forClass(Demo.class);
ProjectionList yearProj = Projections.projectionList();
yearProj.add(Projections.max("contextYear"));
yearProj.add(Projections.max("contextMonth"));
yearProj.add(Projections.groupProperty("entityUUID"));
maxYearQuery.setProjection(yearProj);

Criteria crit = session.createCriteria(Demo.class);
crit.add(Subqueries.propertiesIn(new String[] {"contextYear","contextMonth", "entityUUID"}, maxYearQuery));
crit.addOrder(Order.desc("entityUUID"));

我的 table 是这样的..

>

uID:4 nID:cdf 月份:10 年:2012

uID:4 nID:f58 月份:9 年:2012

uID:5 nID:f58 月份:8 年:2012

uID:5 nID:f58 月份:11 年:2012

uID:5 nID:f58 月份:10 年:2013

uID:4 nID:f58 月份:9 年:2012

我想要数据库中的第一条和第五条记录。我被困在这个阶段。请提供一些指导以通过分组来获取记录。

提前致谢。

最佳答案

您想要这种类型的查询

通过uid从Demo组中选择Max(月)、Max(年);

关于mysql - Hibernate基于最大年份和最大月份的排序表,并使用条件按ID分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28395195/

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