因此,我正在处理一个the应用程序,我需要执行一个查询,以检索已收到消息的最新项目。应用程序使用JAX-RS和Hibernate来完成其任务。表格如下所示:

所有我感兴趣的是独特的项目,但那些在更新列中具有最大值的项目。
因此,通常我会创建一个子查询,其中我将按照更新后的列对所有内容进行排序,并在out查询中调用distinct方法来检索有限数量的行。但是很明显,sql不希望这样,并且criteriaQuery不允许在子查询中使用orderby。
我想知道如何让下面的查询sql更舒适(去掉嵌套查询)。它可能在语法上不正确,但它应该足以理解我想要它做什么:
select distinct project from (select project,updated from Message order by updated) limit 5我搜索了很多,虽然group by加上having子句可以解决我的问题,但也不能让它工作。
发布于 2019-06-22 20:23:18
要获取您可以使用的5条最新消息,请执行以下操作:
List resultList = em.createQuery("select distinct m.project from Message m order by m.updated desc")
.setMaxResults(5)
.getResultList();https://stackoverflow.com/questions/56710651
复制相似问题