Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
29.12.2019, 15:46
|
|||
---|---|---|---|
|
|||
Получение записи по курсору |
|||
#18+
СУБД Postgresql есть таблица с городами и странами. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Отсортированный список Код: sql 1. 2. 3. 4. 5.
Австралия Беларусь Бельгия Германия Канада Россия Франция Япония Афины Брюссель Барселона Нужно написать несколько запросов, которые возвращают по 5 записей из этого списка. Начиная со 2 запроса, нужно в условие запроса передать последнюю запись, найденную в предыдущем запросе. Первый запрос без условия: Код: sql 1. 2. 3. 4. 5. 6.
Получаем набор, все ОК: Австралия Беларусь Бельгия Германия Канада https://www.db-fiddle.com/f/SpTXQTSprkMr3syfk6DSE/0 Берем последнюю запись - Канада, нужно получить следующие 5 записей, которые находятся в списке под Канадой, например так: Второй запрос: Код: sql 1. 2. 3. 4. 5. 6. 7.
https://www.db-fiddle.com/f/39cbZdNmr4HzVzsS1mnfxy/0 Проблема: возвращается только 3 записи (Россия, Франция, Япония), из-за использования сортировки is_country DESC NULLS LAST Третим запросом нужно вернуть одну запись: Барселона Как правильно написать 2 и 3 запросы, во второй запрос нужно передать последнюю запись из 1 запроса, в 3 запрос нужно передать последнюю запись из 2 запроса? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.12.2019, 21:55
|
|||
---|---|---|---|
|
|||
Получение записи по курсору |
|||
#18+
Интересно, мне одному хочется спросить: Казалось бы, при чем здесь Лужков курсор ? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.12.2019, 23:14
|
|||
---|---|---|---|
|
|||
Получение записи по курсору |
|||
#18+
Troglodit, Попробую понятней описать проблему: 1) При первом вызове метода не передают параметр - курсор, метод возвращает 5 записей: Австралия Беларусь Бельгия Германия Канада 2) При следующем вызове метода передают последнюю запись - курсор из пред. вызова (Канада), мне нужно вернуть следующие 5 записей из списка, находящиеся под курсором. Я не знаю второй это вызов, третий или четвертый. У меня просто есть запись - курсор (последняя запись из пред. вызова) Вопрос как написать такие запросы, чтобы по частям вернуть весь список в нужной сортировке (сначала страны, потом города)? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.12.2019, 10:02
|
|||
---|---|---|---|
Получение записи по курсору |
|||
#18+
polin11, кто на ком стоял какой курсор, куда он пошёл Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.12.2019, 13:26
|
|||
---|---|---|---|
|
|||
Получение записи по курсору |
|||
#18+
qwwq, Я пока даже не пытаюсь, что то сделать, т.к. вообще не понимаю постановки задачи. Нужно написать несколько запросов, которые возвращают по 5 записей из этого списка. Может какой то рекурсивный cte нужен, но пока все в тумане, хрустальный шар разбит в клочья. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.01.2020, 23:47
|
|||
---|---|---|---|
|
|||
Получение записи по курсору |
|||
#18+
Запросто :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=53&mobile=1&tid=1994874]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 270ms |
total: | 395ms |
0 / 0 |