Текущий архив: 2003.02.17;
Скачать: CL | DM;
ВнизЕсть ли групповая функция перемножения? Найти похожие ветки
← →
Dead Stark (2003-01-29 17:24) [0]Здравствуйте всем!
вот есть функция суммирования:
select sum(num_id) from abcde....
а есть ли аналогичная функция перемножения?
← →
alex_bredin (2003-01-29 17:27) [1]в SQL92 нет
← →
Johnmen (2003-01-29 17:28) [2]нет
← →
Dead Stark (2003-01-29 17:29) [3]спасибо... очень жалко
← →
Delirium^.Tremens (2003-01-29 17:30) [4]Групповое... размножение... Это интересно... :-)
← →
Dead Stark (2003-01-29 17:31) [5]...а есть ли среднее геометрическое?
← →
Johnmen (2003-01-29 17:35) [6]нет
← →
Dead Stark (2003-01-29 17:40) [7]...а может тогда подскажете, как с помошью селекта посчитать subj?
← →
Johnmen (2003-01-29 17:52) [8]Для этого надо знать :
1. тип СУБД
2. структуру таблицы
← →
Dead Stark (2003-01-29 17:55) [9]oracle 8.1.7
таблица без pk или fk
поле number
← →
Johnmen (2003-01-29 18:29) [10]При таких условиях с помощью селекта - никак...
← →
Dead Stark (2003-01-29 19:12) [11]так и думал :( придется pl\sql юзать...
← →
Balu (2003-01-29 22:17) [12]Мне в свое время отвечали на этот вопрос на форуме SQL.ru
Цитирую что мне ответили:
Из школьного курса -- Сумма логарифмов = Логарифму от произведения поэтому
create table dbo.testmult (id int, value numeric(8,2))
go
insert testmult (id, value)
values( 1, 2.5 )
insert testmult (id, value)
values(1 , 1.5 )
insert testmult (id, value)
values(2 , 3.5 )
insert testmult (id, value)
values(3 , 1.7 )
insert testmult (id, value)
values(3 , 1.8 )
insert testmult (id, value)
values(3 , 1.3 )
go
select id,Cast(exp(sum(log(value))) as decimal(8,3)) from testmult group by id
id
----------- ----------
1 3.750
2 3.500
3 3.978
(3 row(s) affected)
← →
kaif (2003-01-29 22:24) [13]2 Balu © (29.01.03 22:17)
Гениальный ответ на вопрос!!!
А я, идиот, уже в уме стал текст хранимой процедуры придумывать...
← →
Sergey13 (2003-01-30 08:41) [14]2Dead Stark © (29.01.03 17:24)
А ты представляешь разрядность числа которое может получиться, если в таблице порядочно записей и числа приличные. Этим, ИМХО, и обусловлено отсутствие такой функции.
← →
Balu (2003-01-30 18:28) [15]У меня скорость работы была просто отвратительная, но правда и база данных была веселая :-). Была вьюшка с 15-ю юнионамми, поэтому никаких индексов построить было нельзя :-(
В итоге в базу добавил промежуточные поля, которые заполняю на клиенте.
← →
Sergey13 (2003-01-30 18:46) [16]2Johnmen © (29.01.03 18:29)
>При таких условиях с помощью селекта - никак...
А какие условия нужны? 8-) Зарплата большая и выходных побольше? 8-)))))))))))
Страницы: 1 вся ветка
Текущий архив: 2003.02.17;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.01 c