Я безуспешно пытался использовать Java DerivedQueries, но не смог добиться требуемого результата, поэтому мне пришлось вручную написать инструкцию SELECT.
Я хочу отобразить одну запись в своем пользовательском интерфейсе. Это должна быть самая последняя сгенерированная запись (что означает, что она имеет самый высокий идентификационный номер), связанная с категорией, которую мы называем «ASMS». Другими словами, просмотрите все строки с ASMS#123, найдите ту, которая имеет самый высокий идентификатор, а затем верните содержимое одной ячейки столбца.
ASMS: Записи классифицируются по 11 конкретным номерам ASMS. ID: создано автоматически PPRECORD: новые записи добавляются каждый день
Я надеюсь, что изображение имеет больше смысла.
//RETURN ONLY THE LATEST RECORD
//https://besterdev-api.apps.pcfepg3mi.gm.com/api/v1/pprecords/latest/{asmsnumber}
@RequestMapping("/pprecords/latest/{asmsNumber}")
public List<Optional<PriorityProgressEntity>> getLatestRecord(@PathVariable(value = "asmsNumber") String asmsNumber) {
List<Optional<PriorityProgressEntity>> asms_number = priorityprogressrepo.findFirst1ByAsmsNumber(asmsNumber);
return asms_number;}
FE ReactJS создает AXIOS.get, и я могу получить все записи, связанные с ASMS, но у меня нет навыков для отображения только объекта JSON с самым высоким значением идентификатора. Я счастлив сделать это и в FE.
Я пробовал производные запросы. .findFirst1ByAsmsNumber(asmsNumber) не учитывает самый высокий идентификационный номер.
Попробуй это:
SELECT pprecord FROM YourTable WHERE id =
(SELECT MAX(id) FROM YourTable WHERE asms = '188660')
Объяснение:
В первой строке выберите pprecord, во второй строке выберите идентификатор
Я улучшу ответ, если возникнут дополнительные вопросы. Голоса и одобрения приветствуются~
СОРТИРОВАТЬ. Большое спасибо. Работал первый раз. Мне просто нужно было создать дубликат столбца типа Int, чтобы он соответствовал идентификатору и отсортирован :)
Плохо, я не заметил, что asms - это текстовый столбец. Просто попробуйте приведенное выше утверждение, и вам не понадобится повторяющийся столбец.
ОШИБКА: оператор не существует: переменный символ = целое число. СТРОКА 2: (ВЫБЕРИТЕ МАКС(id) FROM priorityprogress, ГДЕ asms=188660) ^ ПОДСКАЗКА: Ни один оператор не соответствует заданному имени и типам аргументов. Возможно, вам потребуется добавить явное приведение типов. Состояние SQL: 42883 Символ: 98