Вниз
Скачать: CL | DM;

Как в SQL получить первые 10 записей из выборки   Найти похожие ветки 

 
SM   (2004-04-05 21:53) [0]

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


 
Zacho ©   (2004-04-05 21:58) [1]

В LocalSQL - никак. Да и не нужно, на самом деле.


 
SM   (2004-04-05 22:04) [2]

Во засада. Как же тогда отобрать только нужное количество по определенному условию (например, 10 самых высоких)? А если под условие попадают пару тысяч. Зачем же такого монстра обрабатывать, если должен быть способ попроще (печенью чувствую - есть такой способ).


 
Zacho ©   (2004-04-05 22:18) [3]

Отбразить и выбрать - разные вещи.
А вообще - уточняй условие.
И, я думаю, не помешает почитать что-нибудь по теории РСУБД


 
S@shka ©   (2004-04-05 22:55) [4]

select first 10 * from MY_TABLE;


 
Zacho ©   (2004-04-05 23:02) [5]


> S@shka ©   (05.04.04 22:55) [4]

В Local SQL ???


 
Andriy Tysh ©   (2004-04-06 09:59) [6]

ClientDataSet.PacketRecords:=10;


 
Deniz ©   (2004-04-06 10:08) [7]

Был такой прикол, но не 100%
пример для DBDEMOS выберет 3 первых записи
select a1.* from animals a1
where 3 > (select count(a2.name) from animals a2 where a1.name > a2.name)
order by a1.name
но есть серьезные ограничения:
- для сортировки по нескольким полям придется сильно потрудиться с условием where во вложенном запросе
- для повторяющихся значений в поле order by запрос может выдавать больше записей, чем нужно(пример по полю size)


 
sniknik ©   (2004-04-06 10:19) [8]

> но есть серьезные ограничения:
...
+
- выборка ограниченного таким образом рекордсета будет работать дольше чем получение полного.


 
Vlad ©   (2004-04-06 10:19) [9]

DataSet.OnFilterRecord:

 Inc(i); // i - глобальная переменная
 Accept:=(I<=10);


Единственное о чем нужно позаботиться, так это о том, чтобы переменная i строго обнулялась перед каждым открытием или Refresh"ем набора данных.


 
Vlad ©   (2004-04-06 10:21) [10]

Сорри, не увидел сразу, вопрос касался SQL...


 
Rule ©   (2004-04-06 10:28) [11]

Ну ещё совет перейти на интербейз платформу (соверую фаерберд)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.029 c
1-1081878475
Шишкин Илья
2004-04-13 21:47
2004.05.02
RichEdit


11-1065301772
Sagrer
2003-10-05 01:09
2004.05.02
Существует ли аналог CoolBar под KOL?


6-1078166800
pomashok
2004-03-01 21:46
2004.05.02
raise


1-1081813105
Sever
2004-04-13 03:38
2004.05.02
StringGrid


1-1081509914
LNick
2004-04-09 15:25
2004.05.02
Обработчик событий




   Наверх