Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как в SQL выгребсти записи с n1 по n2 [D6, FireBird]


Man ©   (2003-10-25 15:47:00) 

Привет всем!Такой вопрос.Как в сиквеле выгребсти записи с n1 по n2(разбор идёт по индексу).


Zacho   (2003-10-26 14:43:00) [1]

2 Man © :
В FireBird и Yaffil есть FIRST .. SKIP .. , в IB7 тоже что-то есть (синтаксис не помню), в других версиях IB - только хранимой процедурой.
P.S. В подавляющем большинстве случаев это вообще не надо.


sniknik   (2003-10-25 21:35:00) [2]

http://www.delphikingdom.ru/mastering/strproc.htm
пункт 3

(оставим рассуждения о бессмысленности порядковых номеров в sql, если хочется делай, но лутше конечно задачу пересмотреть)
кстати поиск занял буквально пару минут.


man   (2003-10-25 20:06:00) [3]

Смотрел доку и не нашёл,поэтому обратился сюда:мот я чего не доглядел.


sniknik   (2003-10-25 19:42:00) [4]

man © (25.10.03 18:54) [9]
почему бы не посмотреть в документации? кстати TOP в FireBird тоже возможно нет (сбило упомянутое "сиквел", так обычно MSSQL называют).


man   (2003-10-25 18:54:00) [5]

Нет ли стандартного выражения для данной операции?
К примеру,в Oracle есть понятие rownum - номер записи набора данных...


sniknik   (2003-10-25 18:32:00) [6]

задавай условие так, чтобы запрос возвращал записи с 20 по 50 (в твоих понятиях)
см.
kaif © (25.10.03 16:11) [1]
это правильно.
неправильно но тоже можно через ограничитель TOP (пара вложеных запросов получится с сортировкой сначала ASС после DESС)


man   (2003-10-25 18:22:00) [7]

В SQL можно указать план разбора.
Вообще говоря,вопрос же не в этом:есть отсортированный набор даннх,мне нужно из него выгребсти с 20 по 50 запись.


man   (2003-10-25 18:22:00) [8]

В SQL можно указать план разбора.
Вообще говоря,вопрос же не в этом:есть отсортированный набор данных,мне нужно из него выгребсти с 20 по 50 запись.


Anatoly Podgoretsky   (2003-10-25 17:52:00) [9]

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


Man   (2003-10-25 17:50:00) [10]

Представление проблемы:
SQL запрос возвращает 100 записей(отсорт. по индексу),я хочу дополнить сиквел таким образом,чтобы были записи только,к примеру, с 20 по 50.


Anatoly Podgoretsky   (2003-10-25 16:18:00) [11]

И в дополнение индексы SQL не поддерживает, поэтому никакой разборки по ним и речи быть не может.


mOOx_   (2003-10-25 16:16:00) [12]

Да уж, исчерпывающее представление проблемы :)


kaif   (2003-10-25 16:11:00) [13]

Что такое n1 и n2 ?
Если это значения какого-то поля, то
SELECT ... FROM ... WHERE <поле> BETWEEN n1 AND n2


Наверх

Титульная страница Поиск, карта сайта Написать письмо