Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
14-88239
Amit
2003-03-12 12:11
2003.03.27
Словно по мне поезд проехал!


3-87829
Alex V. Krylov
2003-03-10 14:20
2003.03.27
формат строки


8-88092
SaperXL
2002-12-15 02:12
2003.03.27
нужна быстрая графика , желательно на основе компонентов


6-88101
alexteam
2003-02-01 01:05
2003.03.27
говорят если грохнуть 80 порт то инет должен упасть независимо от


1-87952
An
2003-03-17 11:12
2003.03.27
Как таскать форму за клиентскую часть?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский