2015-11-25 4 views

ответ

1

Вы не можете сделать точно JPQL эквивалент, потому что это не представляется возможным использовать top (или limit, rownum ... каждую базу данных используйте один раз) в подзапросе с использованием JPQL.

Но вы используете что-то вроде этого:

select max(mt.id) from mytable mt where mt.id in 
    (select mt2.id from mytable mt2 where mt2.mycolumn-value = 1234 order by mt2.id) 

Этот запрос игнорировать верхнюю часть на вложенный запрос, это не повлияет на ожидаемый результат.

+0

Я не думаю, что приведенный выше запрос даст мои ожидаемые результаты, так как похоже, что он просто вернет max (id) для заданного значения mycolumn, а не id при заданном счетчике. – Chris

+0

@Chris, но запрос выше не возвращает тот же результат, что и ваш запрос? – Dherik

+0

О, я вижу сейчас :) Спасибо за это. – Chris

Смежные вопросы