![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выборка первых 10 записей [D5, D6, IB6.x]
Proton © (2002-05-22 07:56:00)Вопрос вот в чем как выбрать первые 10 записей на указанной системе(ib6), работаю через FIBPlus.
На TOP 10 ругается. Диалект 3.
Если можно то пример на основе вот этого
SELECT *
FROM SPR_NM
WHERE ID_NM LIKE "100%"
Proton (2002-05-22 21:00:00) [1]спасибо first x skip x работает
2Seva - очень хороший пример (но думаю что в моем случае (IB) буду юзать first x)
Seva (2002-05-22 14:53:00) [2]Стандартным SQL:
select * from table a
where 10>
(
select count(*) from table b
where b.FieldName<a.FieldName
)
Alexandr (2002-05-22 11:01:00) [3]2Far: Это только если один юзер данные выбирает, да и то хлопотно очень. Проще процедурой
-=FAR=- (2002-05-22 10:58:00) [4]Create generator my_gen;
set generator my_gen to 0;
select id(my_gen,1), * from table where my_gen<10
Romkin (2002-05-22 10:36:00) [5]По-моему, этот вопрос уже много раз был...
Что-то подобное
create procedure sel_top(How_Many integer)
returns (field1 integer .....)
as
declare variable i integer;
begin
i = 0;
for select field1 form SPR_NM
WHERE ID_NM LIKE "100%"
into :field1
do
begin
suspend;
i = i + 1;
if (i >= How_many) then exit;
end;
end
Deniz (2002-05-22 08:05:00) [6]http://www.ibase.ru
А вообще, вроде, только в IB 6.5 обещали поддержку TOP.
В FireBird есть(не помню с какой версии)
select first <n1> skip <n2> * from
Вроде так.