|
Еще раз про постраничный вывод.
|
|||
---|---|---|---|
#18+
нужно организовать вывод результата запроса по страницам, в 10х есть SKIP FIRST. а нужно на 9-ке. перелопатил весь форум, но так и не нашел ответа - только ссылки на поиск. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2006, 15:05 |
|
Еще раз про постраничный вывод.
|
|||
---|---|---|---|
#18+
rebuнужно организовать вывод результата запроса по страницам, в 10х есть SKIP FIRST. а нужно на 9-ке. перелопатил весь форум, но так и не нашел ответа - только ссылки на поиск.руками select first 10 * from where f > :prev_page_last_f_value order by f , трудоемко но в разы производительней. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2006, 15:10 |
|
Еще раз про постраничный вывод.
|
|||
---|---|---|---|
#18+
SQL предназначен для быстрого поиска и обработки данных в БД (в которой , в свою очередь, данные неупорядочены без указания сортировки), а не для форматирования результатов. Для этого , обычно, предназначены сервера приложений, различные форматтеры (генераторы) отчетов, клиентская часть, наконец. Если уж так хочется только SQL-м выдавать порции по запросу, то сделай временную табличку с нужными данными, пронумеруй их там и регулируй порционность как вздумается. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2006, 15:13 |
|
Еще раз про постраничный вывод.
|
|||
---|---|---|---|
#18+
Журавлев Денисруками select first 10 * from where f > :prev_page_last_f_value order by f , трудоемко но в разы производительней. а можно в селекте реализовать автоинкрементное поле? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2006, 15:20 |
|
Еще раз про постраничный вывод.
|
|||
---|---|---|---|
#18+
rebu... а можно в селекте реализовать автоинкрементное поле?Нет. Не надо выбирать то что не надо, надо выбирать то что надо. ----------------------------------------------------------------------------------------------------------------------------------------- нужно делать то что нужно, а то что не нужно -- делать не нужно (перефразируя В-Пуха). ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2006, 15:23 |
|
Еще раз про постраничный вывод.
|
|||
---|---|---|---|
#18+
Можно открыть курсор ... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2006, 15:33 |
|
Еще раз про постраничный вывод.
|
|||
---|---|---|---|
#18+
это пхп-скрипт, и запрос не возвращает каких-либо данных, по которым можно было отсекать. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2006, 16:01 |
|
Еще раз про постраничный вывод.
|
|||
---|---|---|---|
#18+
> а можно в селекте реализовать автоинкрементное поле? Я думаю, нет ничего невозможного: CREATE PROCEDURE getnext( ) RETURNING INT; DEFINE GLOBAL i INT DEFAULT 0; LET i = i + 1; RETURN i; END PROCEDURE; SELECT getnext( ) FROM systables; ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2006, 17:42 |
|
Еще раз про постраничный вывод.
|
|||
---|---|---|---|
#18+
rebuэто пхп-скрипт, и запрос не возвращает каких-либо данных, по которым можно было отсекать. Вот я говорю что это нелегко. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
А кто кроме mysql умеет skip ? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2006, 08:39 |
|
Еще раз про постраничный вывод.
|
|||
---|---|---|---|
#18+
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. Причем такая пара процедур нужна своя для каждого селекта по хорошему-то. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2006, 08:42 |
|
Еще раз про постраничный вывод.
|
|||
---|---|---|---|
#18+
Журавлев Денис... А кто кроме mysql умеет skip ?А вспомнил, scrollable cursors дофига кто умеет. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2006, 12:21 |
|
Еще раз про постраничный вывод.
|
|||
---|---|---|---|
#18+
Журавлев Денис Журавлев Денис... А кто кроме mysql умеет skip ?А вспомнил, scrollable cursors дофига кто умеет. у Оракла есть что типа номера строки в запросе. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2006, 14:34 |
|
Еще раз про постраничный вывод.
|
|||
---|---|---|---|
#18+
rebu... у Оракла есть что типа номера строки в запросе.А у информикса есть first, что несколько удобнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2006, 14:39 |
|
Еще раз про постраничный вывод.
|
|||
---|---|---|---|
#18+
Журавлев Денис 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? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2006, 14:43 |
|
Еще раз про постраничный вывод.
|
|||
---|---|---|---|
#18+
Журавлев Денис rebu... у Оракла есть что типа номера строки в запросе.А у информикса есть first, что несколько удобнее. ну так в 10-ке и skip есть :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2006, 14:56 |
|
Еще раз про постраничный вывод.
|
|||
---|---|---|---|
#18+
В общем, насколько я понял, реализовать запрос вида SKIP 120443 FIRST 25 FROM table ORDER BY id мне не удастся стандартніми средствами, так? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2009, 21:30 |
|
|
start [/forum/topic.php?fid=44&msg=34049089&tid=1607912]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 316ms |
total: | 460ms |
0 / 0 |