Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Есть ли групповая функция перемножения?


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 нет


Наверх

Титульная страница Поиск, карта сайта Написать письмо