Простой SQL-запрос по наивысшему идентификатору

Я безуспешно пытался использовать 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) не учитывает самый высокий идентификационный номер.

Лучшая компания по разработке спортивных приложений
Лучшая компания по разработке спортивных приложений
Ищете лучшую компанию по разработке спортивных приложений? Этот список, несомненно, облегчит вашу работу!
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Если вы являетесь веб-разработчиком или тестировщиком, вы можете быть знакомы с Selenium, популярным инструментом для автоматизации работы...
Фото ️🔁 Radek Jedynak 🔃 on ️🔁 Unsplash 🔃
Фото ️🔁 Radek Jedynak 🔃 on ️🔁 Unsplash 🔃
Что такое Java 8 Streams API? Java 8 Stream API
Деревья поиска (Алгоритм4 Заметки к учебнику)
Деревья поиска (Алгоритм4 Заметки к учебнику)
(1) Двоичные деревья поиска: среднее lgN, наихудшее N для вставки и поиска.
0
0
51
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуй это:

SELECT pprecord FROM YourTable WHERE id =
(SELECT MAX(id) FROM YourTable WHERE asms = '188660')

Объяснение:

В первой строке выберите pprecord, во второй строке выберите идентификатор

Я улучшу ответ, если возникнут дополнительные вопросы. Голоса и одобрения приветствуются~

ОШИБКА: оператор не существует: переменный символ = целое число. СТРОКА 2: (ВЫБЕРИТЕ МАКС(id) FROM priorityprogress, ГДЕ asms=188660) ^ ПОДСКАЗКА: Ни один оператор не соответствует заданному имени и типам аргументов. Возможно, вам потребуется добавить явное приведение типов. Состояние SQL: 42883 Символ: 98

Bester 17.02.2023 22:17

СОРТИРОВАТЬ. Большое спасибо. Работал первый раз. Мне просто нужно было создать дубликат столбца типа Int, чтобы он соответствовал идентификатору и отсортирован :)

Bester 17.02.2023 22:28

Плохо, я не заметил, что asms - это текстовый столбец. Просто попробуйте приведенное выше утверждение, и вам не понадобится повторяющийся столбец.

Hao Zhang 17.02.2023 22:44

Другие вопросы по теме