Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > СУБД, общие вопросы > Select 10 to 20 rows


Автор: Tony 24.12.2006, 12:42
Какможно написать SQL 4тобы селект возврaщал скажем строки с 10ой по 20 или с 10ой и 10.

Автор: skyboy 24.12.2006, 13:15
в общем виде - никак. все зависит от СУБД. Если поддерживается LIMIT - возможно, там можно указать "LIMIT 10,20"(например, MYSQL). В Oracle, как я слышал, есть даже функция, возвращающая номер строки - можно попробовать эту функцию вставить в where или в having. в MSSQL - ещё как-то по-другому. в некоторых СУБД встроенными средствами такой вопрос вообще не решить - надо на клиенте делать. 
разве что у тебя какой - то ключ растет на 1 и от него можно оттолкнуться в секции WHERE.

Автор: Tony 24.12.2006, 14:32
понятно.Спасибо

Автор: Romkin 24.12.2006, 18:48
В SQL92 описан предикат ROWS, примерно так:
Код

SELECT * FROM table
[ROWS <lower_value> [TO <upper_value>] [BY <step_value>]

Но, как сказано, не все БД это поддерживают, чаще всего есть свои средства.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)