Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как в Оракл ограничить выборку сверху и снизу (Аналог LIMIT в MySQL)?
|
|||
|---|---|---|---|
|
#18+
Привет всем! Вот такая проблема - делаю постраничную навигацию на сайте, выводить надо данные из селекта, но не все, а какую-то часть, выбрав, к примеру, 25 строк, начиная со строки 100. В MySQL это делается так: SELECT * FROM table LIMIT 100, 25 А Оракл слова LIMIT не знает. Зато в нем есть, в любой таблице, псеводо столбцы ROWNUM и ROWID, я думал, они могут помочь, но что-то никак не получается. ROWNUM может ограничить только сверху, т.е. можно выбрать несколько строк, начиная всегда с самой первой. А мне то хочется, начиная с сотой! Понятно что что-то должно быть в Оракл для этого, но что это - в доке найти примеров не могу. Антон ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2001, 08:29 |
|
||
|
Как в Оракл ограничить выборку сверху и снизу (Аналог LIMIT в MySQL)?
|
|||
|---|---|---|---|
|
#18+
Как Oracle работает - не имеет малейшего понятия, но зато знаю как это можно обойти: Добавь индексное уникальное поле (например поле 'ID') в таблицу откуда берешь данные на страницу ну а дальше обычный опрератор типа такого: SELECT * FROM MyTABLE WHERE (ID>=100) AND (ID<=124) Уж такая феня будет работать практически под любой базой данных Хотя такой способ увеличит объем таблицы В общем, смотри сам ......... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2002, 13:34 |
|
||
|
Как в Оракл ограничить выборку сверху и снизу (Аналог LIMIT в MySQL)?
|
|||
|---|---|---|---|
|
#18+
Есть такое решение: select * from ( select rownum NNN, a. * from your_table_name a ) where NNN between 10 and 20 или даже скорее так: select * from ( select rownum NNN, a.* from ( select * from your_table_name order by какоето_поле ) a ) where NNN between 10 and 20 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2002, 10:51 |
|
||
|
|

start [/forum/topic.php?fid=35&fpage=59&tid=1554483]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
| others: | 15ms |
| total: | 156ms |

| 0 / 0 |
