Когда оракул начал поддерживать "top": выбрать top? p2_.PRODUCT_ID из PRODUCT? - PullRequest
5 голосов
/ 22 апреля 2009

Когда оракул начал поддерживать "top":

select top ? p2_.PRODUCT_ID from PRODUCT?

Ответы [ 3 ]

13 голосов
/ 22 апреля 2009

Я не уверен, что у ORACLE когда-либо была функция TOP. Вы хотите использовать запрос TOP-N.

Например:

select  *
  from  (SELECT  *
           FROM  foo
          where  foo_id=[number]
       order by  foo_id desc)
 where  rownum <= 3   

Это даст вам первые три результата (потому что я заказываю по desc в подзапросе)

4 голосов
/ 22 апреля 2009

Oracle не поддерживает ключевое слово TOP. Запрос

SELECT TOP 10 product_id
  FROM product

вызовет синтаксическую ошибку, поскольку предложение TOP 10 не распознается, по крайней мере, через Oracle 11.1 (текущий рабочий выпуск).

1 голос
/ 24 апреля 2009

TOP поддерживается сервером SQL, а не Oracle. Не путайте с хитом FIRST_ROWS , который предназначен для получения лучшего плана для первых строк, чтобы не останавливаться после ряда результатов.

Как уже говорилось, решение Oracle заключается в игре с псевдостолбцом ROWNUM .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...