powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Как в Оракл ограничить выборку сверху и снизу (Аналог LIMIT в MySQL)?
4 сообщений из 4, страница 1 из 1
Как в Оракл ограничить выборку сверху и снизу (Аналог LIMIT в MySQL)?
    #32009224
Grimm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем!
Вот такая проблема - делаю постраничную навигацию на сайте, выводить надо данные из селекта, но не все, а какую-то часть, выбрав, к примеру, 25 строк, начиная со строки 100. В MySQL это делается так:

SELECT * FROM table LIMIT 100, 25

А Оракл слова LIMIT не знает. Зато в нем есть, в любой таблице, псеводо столбцы ROWNUM и ROWID, я думал, они могут помочь, но что-то никак не получается. ROWNUM может ограничить только сверху, т.е. можно выбрать несколько строк, начиная всегда с самой первой. А мне то хочется, начиная с сотой! Понятно что что-то должно быть в Оракл для этого, но что это - в доке найти примеров не могу.

Антон
...
Рейтинг: 0 / 0
Как в Оракл ограничить выборку сверху и снизу (Аналог LIMIT в MySQL)?
    #32031125
_FDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как Oracle работает - не имеет малейшего понятия, но зато знаю
как это можно обойти:
Добавь индексное уникальное поле (например поле 'ID') в таблицу
откуда берешь данные на страницу
ну а дальше обычный опрератор типа такого:

SELECT * FROM MyTABLE WHERE (ID>=100) AND (ID<=124)

Уж такая феня будет работать практически под любой базой данных
Хотя такой способ увеличит объем таблицы

В общем, смотри сам .........
...
Рейтинг: 0 / 0
Как в Оракл ограничить выборку сверху и снизу (Аналог LIMIT в MySQL)?
    #32031251
alvako
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такое решение:

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
...
Рейтинг: 0 / 0
Как в Оракл ограничить выборку сверху и снизу (Аналог LIMIT в MySQL)?
    #32032879
Ganer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
where rowid between ...
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Как в Оракл ограничить выборку сверху и снизу (Аналог LIMIT в MySQL)?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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