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

а можно в селекте реализовать автоинкрементное поле?
...
Рейтинг: 0 / 0
11.10.2006, 15:23
    #34047722
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз про постраничный вывод.
rebu...
а можно в селекте реализовать автоинкрементное поле?Нет. Не надо выбирать то что не надо, надо выбирать то что надо.
-----------------------------------------------------------------------------------------------------------------------------------------
нужно делать то что нужно, а то что не нужно -- делать не нужно (перефразируя В-Пуха).
...
Рейтинг: 0 / 0
11.10.2006, 15:33
    #34047767
Алексан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз про постраничный вывод.
Можно открыть курсор ...
...
Рейтинг: 0 / 0
11.10.2006, 16:01
    #34047893
rebu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз про постраничный вывод.
это пхп-скрипт, и запрос не возвращает каких-либо данных, по которым можно было отсекать.
...
Рейтинг: 0 / 0
11.10.2006, 17:42
    #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
12.10.2006, 08:39
    #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
12.10.2006, 08:42
    #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
12.10.2006, 12:21
    #34049955
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз про постраничный вывод.
Журавлев Денис...

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

А кто кроме mysql умеет skip ?А вспомнил, scrollable cursors дофига кто умеет.
у Оракла есть что типа номера строки в запросе.
...
Рейтинг: 0 / 0
12.10.2006, 14:39
    #34050705
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз про постраничный вывод.
rebu...
у Оракла есть что типа номера строки в запросе.А у информикса есть first, что несколько удобнее.
...
Рейтинг: 0 / 0
12.10.2006, 14:43
    #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
12.10.2006, 14:56
    #34050805
rebu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз про постраничный вывод.
Журавлев Денис rebu...
у Оракла есть что типа номера строки в запросе.А у информикса есть first, что несколько удобнее.
ну так в 10-ке и skip есть :)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
15.01.2009, 21:30
    #35760250
yack
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз про постраничный вывод.
В общем, насколько я понял, реализовать запрос вида
SKIP 120443 FIRST 25 FROM table ORDER BY id
мне не удастся стандартніми средствами, так?
...
Рейтинг: 0 / 0
16.01.2009, 00:11
    #35760387
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз про постраничный вывод.
yackВ общем, насколько я понял, реализовать запрос вида
SKIP 120443 FIRST 25 FROM table ORDER BY id
мне не удастся стандартніми средствами, так?новый год уже прошел, чудеса закончились.
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / Еще раз про постраничный вывод. / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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