Форум: "Базы";
Текущий архив: 2003.03.27;
Скачать: [xml.tar.bz2];
Внизsql кто на втором месте? Найти похожие ветки
← →
ddd (2003-03-07 12:59) [0]день добрый.
функция max(field1) возвращает максимальное значение поля field1.
а как можно узнать следующее (второе, третье, n-ое) значение?
← →
Соловьев (2003-03-07 13:00) [1]ХП я думаю можно.
← →
Delirium (2003-03-07 13:01) [2]
select top 2 MyField from MyTable order by MyField desc
← →
stone (2003-03-07 13:02) [3]select distinct field1 from table1
order by field1
first=min
last=max
← →
Smashich (2003-03-07 13:02) [4]2 Delirium © (07.03.03 13:01)
функции TOP нету в IB! в FireBird(не в IB) eсть First...
← →
Delirium (2003-03-07 13:04) [5]> Smashich ©
Однако :)
← →
BorisUK (2003-03-07 13:04) [6]Получи набор данных, отсортированный по этому полю и смори какое на каком месте от максимального...
А вообще что за задача такая... где область реального применения этого вопроса.
← →
Alexandr (2003-03-07 13:05) [7]почему нету?
есть в Ib6.5 именно top.
учите мат.часть.
← →
Smashich (2003-03-07 13:11) [8]2 Alexandr © (07.03.03 13:05)
2 Smashich © (07.03.03 13:02)
звиняюсь - сгоряча;)
← →
Smashich (2003-03-07 13:11) [9]2 Delirium © (07.03.03 13:04)
2 Alexandr © (07.03.03 13:05)
звиняюсь - это я сгоряча;)
← →
Johnmen (2003-03-07 13:14) [10]SELECT MIN(Field1) FROM Table
WHERE Field1>{значение, следующее к которому, надо найти}
Странно это все...:)
← →
Соловьев (2003-03-07 13:19) [11]Вот тут быстренько набросал. Мастера , только не пинать...
Вводишь индекс и тебе выдается значение...
CREATE PROCEDURE GET_VALUE (
INDEXVALUE INTEGER)
RETURNS (
VALUEFIELD INTEGER)
AS
declare variable i integer;
declare variable temp integer;
BEGIN
i=0;
for
select distinct (fied )
from table
order by field
into :temp
do
begin
if (i=:indexValue) then
begin
ValueField =:temp;
SUSPEND;
Exit;
end
else
ValueField =NULL;
i=i+1;
end
SUSPEND;
END
← →
ddd (2003-03-07 14:27) [12]Delirium © (07.03.03 13:01)
у меня ib6.0, функции top нету, а first возвращает первые n значений (в примере- 2).
BorisUK © (07.03.03 13:04)
что ж, мне "вручную" смотреть?
есть (уже получил) нд (несортированный, могу отсортировать). нужно программно определить n-ое значение. собственно, это мой сабж (и ваш совет?!).
применение:
допустим (например), есть таблица1:
player|round|score
1 1 5
2 1 4
3 1 3
1 2 3
2 2 5
3 2 4
...
и таблица2:
round|first|second|third
1
2
3
...
как мне по данным таблицы1 заполнить таблицу2, т. е.:
round|first|second|third
1 1 2 3
2 2 3 1
3 ... ... ...
...
← →
ddd (2003-03-07 14:33) [13]чего тут странного?
я отсортировал нд, и хоче найти n-ое значение, отвечающее условию сортировки. мне не хватает min и max- мне нужны промежуточные значения.
блин, ну хоть находи max и обнуляй в цикле!
← →
Соловьев (2003-03-07 14:35) [14]
> Соловьев © (07.03.03 13:19)
2 ddd
ты пробывал пример мой? Там правда еще чуть напильником поработать.
← →
ddd (2003-03-07 14:45) [15]Соловьев © (07.03.03 14:35)
пока нет.
видишь ли, какая штука (см. пример ddd (07.03.03 14:27)), я думал,можно как-то так:
update table2
set first=(select max(score) from table1 where round=table2.round),
second=(select somefunction(second_max) from table1...),
third=(select somefunction(third_max) from table1...);
а тут выходит, нужно хп присобачить. будем дальше думать.
зы
2 Delirium © (07.03.03 13:01)
а top возвращает n-ое?
может, поискать ib6.5?
← →
Соловьев (2003-03-07 14:46) [16]
> ddd (07.03.03 14:45)
а чем тебе ХП не нравится?
← →
ddd (2003-03-07 14:56) [17]Соловьев © (07.03.03 14:46)
почему не нравится? нравится. не нравится, когда выбора нет.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.03.27;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.007 c