![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 07.06.2015
Сообщений: 164
|
![]()
СУБД Postgresql есть таблица с городами и странами.
Код:
Код:
Беларусь Бельгия Германия Канада Россия Франция Япония Афины Брюссель Барселона Нужно написать несколько запросов, которые возвращают по 5 записей из этого списка. Начиная со 2 запроса, нужно в условие запроса передать последнюю запись, найденную в предыдущем запросе. Первый запрос без условия: Код:
Австралия Беларусь Бельгия Германия Канада https://www.db-fiddle.com/f/SpTXQTSprkMr3syfk6DSE/0 Берем последнюю запись - Канада, нужно получить следующие 5 записей, которые находятся в списке под Канадой, например так Второй запрос: Код:
Проблема: возвращается только 3 записи (Россия, Франция, Япония), из-за использования сортировки is_country DESC NULLS LAST Третим запросом нужно вернуть одну запись: Барселона Как правильно написать 2 и 3 запросы, оставив такую сортировку, во втором запросе нужно использовать последнюю запись из 1 запроса, в 3 запросе нужно использовать последнюю запись из 2 запроса? Последний раз редактировалось polin11; 29.12.2019 в 16:40. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]()
программа — запись алгоритма на языке понятном транслятору
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 07.06.2015
Сообщений: 164
|
![]()
Попробую понятней описать проблему:
1) При первом вызове метода не передают параметр - курсор, метод возвращает 5 записей: Австралия Беларусь Бельгия Германия Канада 2) При следующем вызове метода передают последнюю запись - курсор из пред. вызова (Канада), мне нужно вернуть следующие 5 записей из списка, находящиеся под курсором. Я не знаю второй это вызов, третий или четвертый. У меня просто есть запись - курсор (последняя запись из пред. вызова) Вопрос как написать такие запросы, чтобы по частям вернуть весь список в нужной сортировке (сначала страны, потом города)? |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]()
кроме ограничения сколько (Limit) есть еще и с какой по счету (в указанном порядке) делать выбор.
другими словами сколько "первых" записей пропускать. В вашем случае 5, потом 10 и т.д. при большом желании(если не хотите запоминать) это число можно возвращать(передавать) в каждом запросе. И это слово (для postgree) есть на указанной странице.
программа — запись алгоритма на языке понятном транслятору
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
выделение набора записей | CAHDEP | Microsoft Office Access | 0 | 26.01.2018 18:01 |
Получение определённого диапазона номеров записей | БалаШагаЛ | SQL, базы данных | 1 | 08.08.2013 18:38 |
TPlanner, получение количество записей | b4dm4n | Компоненты Delphi | 3 | 11.10.2011 14:13 |
Ближайшая точка к курсору | Claster | Помощь студентам | 11 | 27.07.2011 17:29 |
Обновление набора данных после добавления в таблицу записей "внешней" программой | dimmm | БД в Delphi | 5 | 21.04.2009 00:56 |