Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MySQL -> Oracle 
V
    Опции темы
f00Gass
  Дата 30.11.2006, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 10.11.2005

Репутация: нет
Всего: нет



Есть следующий мускульный запрос:
Код
select * from `test` order by `id`desc limit 100, 50;

Как он будет выглядеть для оракла?

Заранее спасибо smile
PM MAIL   Вверх
Sqlninja
Дата 30.11.2006, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 353
Регистрация: 15.5.2006
Где: San Francisco, CA

Репутация: 13
Всего: 13



Код

select * from (select * from test order by id desc ) where rownum between 50 and 100



--------------------
It's better to burn out than to fade away.
PM MAIL WWW ICQ   Вверх
f00Gass
Дата 30.11.2006, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 10.11.2005

Репутация: нет
Всего: нет



я писал такой же запрос

ORA-00907: missing right parenthesis (DBD ERROR: error possibly near <*> indicator at char 35 in 'select * from (select * from test <*>order by id desc) where rownum between 100 and 50')
PM MAIL   Вверх
ols
Дата 30.11.2006, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 24.8.2006
Где: Прага

Репутация: 1
Всего: 1



Код

select * from
(select t.*, row_number()over(order by id desc) rn from test t) 
where rn between 50 and 100


PM MAIL WWW   Вверх
LSD
Дата 30.11.2006, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15709
Регистрация: 24.3.2004

Репутация: 18
Всего: 537



Sqlninja, твой запрос вернет 0 строк.

Правильно так:
Код
select * from (select t.*, rownum rnum from test t order by id desc ) where rnum between 50 and 100




--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
ols
Дата 30.11.2006, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 24.8.2006
Где: Прага

Репутация: 1
Всего: 1



Цитата(LSD @ 30.11.2006,  11:35)
Sqlninja, твой запрос вернет 0 строк.

Правильно так:
Код
select * from (select t.*, rownum rnum from test t order by id desc ) where rnum between 50 and 100


а твой неправильный результат smile во всяком случае на 9.2.0.1 

<добавил>
сравни с 
Код

select * from 
    (select t.*, rownum rn from 
        (select * from test order by id desc ) t
    ) 
where rn between 50 and 100  


Это сообщение отредактировал(а) ols - 30.11.2006, 11:44
PM MAIL WWW   Вверх
Sqlninja
Дата 30.11.2006, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 353
Регистрация: 15.5.2006
Где: San Francisco, CA

Репутация: 13
Всего: 13



Sorry guyz, результат не проверял.


--------------------
It's better to burn out than to fade away.
PM MAIL WWW ICQ   Вверх
f00Gass
Дата 30.11.2006, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 10.11.2005

Репутация: нет
Всего: нет



Всем огромное спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.1287 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.