我需要根据另一列(drawingNumber)获得一个列(修订)最大值。谁能告诉我有关此功能的JPA查询。
我编写了以下查询,但该查询无法正常工作。
请帮助我如何在JPA查询中编写MAX和OVER(PARTITION BY)函数。
@Query("select dr FROM
(SELECT MAX(dr.revision) over (PARTITION BY d.drawing_number) AS latest_revision
FROM DrawingRate dr
JOIN dr.drawing d
JOIN d.modifiedBy mb
WHERE mb.Id=:Id
OR piu.Id=:Id
ORDER BY d.localModifiedOn DESC NULLS LAST
) WHERE dr.revision = :latest_revision")
在运行此Spring数据JPA查询时,它显示以下错误:
由于:java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException:意外 令牌:(靠近第1行第16列[select dr from(select max(dr.revision)超过(按d.drawing_number分区)AS 来自entity.DrawingRate的last_enrolment_date dr加入dr.drawing d加入 d.modifiedBy mb左加入博士dr.modifiedBy在哪mb.Id =:IdOR piu.Id =:id顺序由d.localModifiedOn在DESC NULLS LAST)哪里 dr.revision =:latest_revision]
请帮助我如何在JPA查询中编写MAX和OVER(PARTION BY)函数。