Как ограничить размер набора результатов для произвольного запроса в Ingres? - PullRequest
4 голосов
/ 08 сентября 2008

В Oracle количество строк, возвращаемых в произвольном запросе, может быть ограничено фильтрацией по «виртуальному» столбцу rownum. Рассмотрим следующий пример, который вернет не более 10 строк.

SELECT * FROM all_tables WHERE rownum <= 10

Есть ли простой, общий способ сделать что-то подобное в Ingres?

Ответы [ 4 ]

6 голосов
/ 08 сентября 2008

Явно меняю свой ответ. «Предел 10» работает для MySql и других, Ingres использует

Select First 10 * from myTable

Ref

2 голосов
/ 08 сентября 2008

select * from myTable limit 10 не работает.

Обнаружили одно возможное решение:

    TIDs are "tuple identifiers" or row addresses.  The TID contains the
    page number and the index of the offset to the row relative to the
    page boundary.  TIDs are presently implemented as 4-byte integers.
    The TID uniquely identifies each row in a table.  Every row has a
    TID.  The high-order 23 bits of the TID are the page number of the page
    in which the row occurs.  The TID can be addressed in SQL by the name 
    `tid.'

Таким образом, вы можете ограничить количество возвращаемых строк, используя что-то вроде:

select * from SomeTable where tid < 2048

Метод несколько неточен по количеству возвращаемых строк. Это хорошо для моего требования, потому что я просто хочу ограничить количество строк, возвращающихся из очень большого набора результатов, чтобы ускорить тестирование.

0 голосов
/ 08 сентября 2008

Эй, ниндзя редактор из Стокгольма! Не беспокойтесь, подтвердили, что «первый Х» работает хорошо, и это решение намного лучше, чем я придумал. Thankyou!

0 голосов
/ 08 сентября 2008

Привет, Крейг. Извините, я сделал ниндзя Править. Нет, Limit 10 не работает, я ошибался, думая, что это стандартный SQL, поддерживаемый всеми. Ingres использует (согласно документу) «First» для решения проблемы.

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