![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Есть ли групповая функция перемножения?
Dead Stark © (2003-01-29 17:24:00)Здравствуйте всем!
вот есть функция суммирования:
select sum(num_id) from abcde....
а есть ли аналогичная функция перемножения?
Sergey13 (2003-01-30 18:46:00) [1]2Johnmen © (29.01.03 18:29)
>При таких условиях с помощью селекта - никак...
А какие условия нужны? 8-) Зарплата большая и выходных побольше? 8-)))))))))))
Balu (2003-01-30 18:28:00) [2]У меня скорость работы была просто отвратительная, но правда и база данных была веселая :-). Была вьюшка с 15-ю юнионамми, поэтому никаких индексов построить было нельзя :-(
В итоге в базу добавил промежуточные поля, которые заполняю на клиенте.
Sergey13 (2003-01-30 08:41:00) [3]2Dead Stark © (29.01.03 17:24)
А ты представляешь разрядность числа которое может получиться, если в таблице порядочно записей и числа приличные. Этим, ИМХО, и обусловлено отсутствие такой функции.
kaif (2003-01-29 22:24:00) [4]2 Balu © (29.01.03 22:17)
Гениальный ответ на вопрос!!!
А я, идиот, уже в уме стал текст хранимой процедуры придумывать...
Balu (2003-01-29 22:17:00) [5]Мне в свое время отвечали на этот вопрос на форуме 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)
Dead Stark (2003-01-29 19:12:00) [6]так и думал :( придется pl\sql юзать...
Johnmen (2003-01-29 18:29:00) [7]При таких условиях с помощью селекта - никак...
Dead Stark (2003-01-29 17:55:00) [8]oracle 8.1.7
таблица без pk или fk
поле number
Johnmen (2003-01-29 17:52:00) [9]Для этого надо знать :
1. тип СУБД
2. структуру таблицы
Dead Stark (2003-01-29 17:40:00) [10]...а может тогда подскажете, как с помошью селекта посчитать subj?
Johnmen (2003-01-29 17:35:00) [11]нет
Dead Stark (2003-01-29 17:31:00) [12]...а есть ли среднее геометрическое?
Delirium^.Tremens (2003-01-29 17:30:00) [13]Групповое... размножение... Это интересно... :-)
Dead Stark (2003-01-29 17:29:00) [14]спасибо... очень жалко
Johnmen (2003-01-29 17:28:00) [15]нет
alex_bredin (2003-01-29 17:27:00) [16]в SQL92 нет