powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Еще раз про постраничный вывод.
17 сообщений из 17, страница 1 из 1
Еще раз про постраничный вывод.
    #34047611
rebu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нужно организовать вывод результата запроса по страницам, в 10х есть SKIP FIRST.
а нужно на 9-ке.
перелопатил весь форум, но так и не нашел ответа - только ссылки на поиск.
...
Рейтинг: 0 / 0
Еще раз про постраничный вывод.
    #34047638
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rebuнужно организовать вывод результата запроса по страницам, в 10х есть SKIP FIRST.
а нужно на 9-ке.
перелопатил весь форум, но так и не нашел ответа - только ссылки на поиск.руками select first 10 * from where f > :prev_page_last_f_value order by f , трудоемко но в разы производительней.
...
Рейтинг: 0 / 0
Еще раз про постраничный вывод.
    #34047663
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL предназначен для быстрого поиска и обработки данных в БД (в которой , в свою очередь, данные неупорядочены без указания сортировки), а не для форматирования результатов. Для этого , обычно, предназначены сервера приложений, различные форматтеры (генераторы) отчетов, клиентская часть, наконец. Если уж так хочется только SQL-м выдавать порции по запросу, то сделай временную табличку с нужными данными, пронумеруй их там и регулируй порционность как вздумается.
...
Рейтинг: 0 / 0
Еще раз про постраничный вывод.
    #34047703
rebu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев Денисруками select first 10 * from where f > :prev_page_last_f_value order by f , трудоемко но в разы производительней.

а можно в селекте реализовать автоинкрементное поле?
...
Рейтинг: 0 / 0
Еще раз про постраничный вывод.
    #34047722
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rebu...
а можно в селекте реализовать автоинкрементное поле?Нет. Не надо выбирать то что не надо, надо выбирать то что надо.
-----------------------------------------------------------------------------------------------------------------------------------------
нужно делать то что нужно, а то что не нужно -- делать не нужно (перефразируя В-Пуха).
...
Рейтинг: 0 / 0
Еще раз про постраничный вывод.
    #34047767
Алексан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно открыть курсор ...
...
Рейтинг: 0 / 0
Еще раз про постраничный вывод.
    #34047893
rebu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
это пхп-скрипт, и запрос не возвращает каких-либо данных, по которым можно было отсекать.
...
Рейтинг: 0 / 0
Еще раз про постраничный вывод.
    #34048344
Leonid Vorontsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> а можно в селекте реализовать автоинкрементное поле?
Я думаю, нет ничего невозможного:

CREATE PROCEDURE getnext( ) RETURNING INT;
DEFINE GLOBAL i INT DEFAULT 0;
LET i = i + 1;
RETURN i;
END PROCEDURE;

SELECT getnext( ) FROM systables;
...
Рейтинг: 0 / 0
Еще раз про постраничный вывод.
    #34049084
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rebuэто пхп-скрипт, и запрос не возвращает каких-либо данных, по которым можно было отсекать.
Вот я говорю что это нелегко.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
select /*+ first_rows*/ f1, f2, f3, f4, f5
from
where f1 > :f1_last or
         (f1 = :f1_last and f2 > :f2_last) or
         (f1 = :f1_last and f2 = :f2_last and f3 > :f3_last) or
         (f1 = :f1_last and f2 = :f2_last and f3 = :f3_last and f4 > :f4_last) or
         (f1 = :f1_last and f2 = :f2_last and f3 = :f3_last and f4 = :f4_last and f5 > :f5_last)
order by f1, f2, f3, f4, f5

А кто кроме mysql умеет skip ?
...
Рейтинг: 0 / 0
Еще раз про постраничный вывод.
    #34049089
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Vorontsov> а можно в селекте реализовать автоинкрементное поле?
Я думаю, нет ничего невозможного:

CREATE PROCEDURE getnext( ) RETURNING INT;
DEFINE GLOBAL i INT DEFAULT 0;
LET i = i + 1;
RETURN i;
END PROCEDURE;

SELECT getnext( ) FROM systables;Тогда нужна еще проц, инициализурующая в 0, ее надо вызывать перед select. Причем такая пара процедур нужна своя для каждого селекта по хорошему-то.
...
Рейтинг: 0 / 0
Еще раз про постраничный вывод.
    #34049955
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев Денис...

А кто кроме mysql умеет skip ?А вспомнил, scrollable cursors дофига кто умеет.
...
Рейтинг: 0 / 0
Еще раз про постраничный вывод.
    #34050679
rebu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев Денис Журавлев Денис...

А кто кроме mysql умеет skip ?А вспомнил, scrollable cursors дофига кто умеет.
у Оракла есть что типа номера строки в запросе.
...
Рейтинг: 0 / 0
Еще раз про постраничный вывод.
    #34050705
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rebu...
у Оракла есть что типа номера строки в запросе.А у информикса есть first, что несколько удобнее.
...
Рейтинг: 0 / 0
Еще раз про постраничный вывод.
    #34050736
rebu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев Денис Leonid Vorontsov> а можно в селекте реализовать автоинкрементное поле?
Я думаю, нет ничего невозможного:

CREATE PROCEDURE getnext( ) RETURNING INT;
DEFINE GLOBAL i INT DEFAULT 0;
LET i = i + 1;
RETURN i;
END PROCEDURE;

SELECT getnext( ) FROM systables;Тогда нужна еще проц, инициализурующая в 0, ее надо вызывать перед select. Причем такая пара процедур нужна своя для каждого селекта по хорошему-то.
а если написать процедурку, где этот курсором бежать этот селект и показывать нужные строки - подобие SKIP FISRT?
...
Рейтинг: 0 / 0
Еще раз про постраничный вывод.
    #34050805
rebu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев Денис rebu...
у Оракла есть что типа номера строки в запросе.А у информикса есть first, что несколько удобнее.
ну так в 10-ке и skip есть :)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Еще раз про постраничный вывод.
    #35760250
yack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем, насколько я понял, реализовать запрос вида
SKIP 120443 FIRST 25 FROM table ORDER BY id
мне не удастся стандартніми средствами, так?
...
Рейтинг: 0 / 0
Еще раз про постраничный вывод.
    #35760387
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yackВ общем, насколько я понял, реализовать запрос вида
SKIP 120443 FIRST 25 FROM table ORDER BY id
мне не удастся стандартніми средствами, так?новый год уже прошел, чудеса закончились.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Еще раз про постраничный вывод.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]