У меня есть таблица записей (в основном: слова), которые можно отсортировать по алфавиту. Я уже знаю общее количество страниц, поэтому могу отобразить что-то вроде 1 2 3 ... 19 20
с обработчиком OnClick для перехода на новые страницы. Если результат для определенной страницы c уже был загружен, он просто покажет его, в противном случае будет выдан новый запрос SQL с OFFSET и LIMIT.
Теперь было бы здорово иметь всплывающую подсказку отображение первой записи на каждой странице, когда пользователь наводит курсор на ссылку для страницы «3». Я знаю, что могу отправить запрос onMouseOver, но можно ли получить этот список уже в самом первом запросе?
Пример таблицы слов :
+-ID-+----Word---+
+ 1 + ability +
+ 2 + able +
+ 3 + about +
+ 4 + above +
+ 5 + accept +
+ 6 + according +
+ 7 + account +
+----+-----------+
Пример исходный запрос (очевидно, LIMIT 2 будет примерно как LIMIT 50 в реальном запросе)
SELECT * FROM words ORDER BY word ASC LIMIT 2 OFFSET 0
Пример дальнейшего запроса (например, если пользователь нажал на страницу "3"):
SELECT * FROM words ORDER BY word ASC LIMIT 2 OFFSET 4
Желаемый результат:
Я бы хотел получить один начальный запрос, который возвращает способность и способность (очевидно), но затем также возвращает около (первый элемент на странице 2), accept (первый элемент на странице 3) и счет (первый пункт на странице 4). Опять же, я уверен, что это будет легко с обработчиком событий в MouseOver или чем-то в этом роде или, вероятно, будет не слишком сложно с двумя последующими запросами, но я бы хотел сделать это в одном запросе, если это возможно. Было бы лучше, если бы элементы «первая из других страниц» назывались по-другому, но я думаю, что с этим также можно было бы по-другому управлять. Первоначальный запрос всегда будет с OFFSET 0
(т.е. пользователь не может начать со страницы 12).
Сейчас PostgreSQL Версия 12.1