Мне нужно получить максимальное значение одного столбца (ревизия) на основе другого столбца (DrawingNumber).Может кто-нибудь сказать мне запрос JPA для этой функции.
Я написал следующий запрос, и этот запрос не работает.
Пожалуйста, помогите мне, как написать функции MAX и OVER (PARTITION BY) в запросе JPA.
@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")
Этот запрос JPA данных Spring не работает во время выполнения этой ошибки, показывая следующую ошибку:
Причина: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: неожиданный токен: (возле строки 1, столбец 16 [выберите dr from (выберите макс. (Dr.revision)) over (разбиение по d.drawing_number) AS last_enrolment_date от entity.DrawingRate dr присоединиться к dr.drawing d ПРИСОЕДИНИТЬСЯ d.modifiedBy mb оставить присоединитьсяDESC NULLS LAST) WHERE dr.revision =: latest_revision]
Пожалуйста, помогите мне, как написать функции MAX и OVER (PARTION BY) в запросе JPA.