#java #mysql #spring #spring-boot
#Ява #mysql #весна #пружинный ботинок
Вопрос:
Это мой запрос в моем репозитории, и база данных, которую я использую, — mysql ..
@Query( value = "select a.id as Id, a.created as createdAt, :emailId as emailId from address a where a.created_by= :createdAT group by a.id , nativeQuery = true ) Listlt;Responsegt; getData(Long id, String mail);
теперь мое требование-получить последнюю запись сверху, отсортированную по created_at
Комментарии:
1. 1. Вам не нужно группироваться по идентификатору, если это первичный ключ. 2. ваш вопрос на самом деле связан с sql, а не с java. 3. Попробуйте удалить
where
иgroup by
и добавитьorder by a.createdAT desc
. 4. добавьтеtop 1
сразу после выбора «Нравитсяselect top 1 a.id ...
«. 5. Теперь получите единственный пункт в списке.2.
select top 1 a.id as Id, a.created as createdAt, :emailId as emailId from address a order by a.createdAT desc
Ответ №1:
Вы должны поставить order by
вместо group by
и изменить Listlt;Responsegt;
Response
, потому что вам нужна одна строка…
@Query( value = "SELECT a.id as Id, a.created as createdAt, a.emailId as emailId FROM address AS a ORDER BY a.created" , nativeQuery = true ) Response getData();