Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Умножение значений столбца  [new]
?????
Guest
Всем привет!

В SQL есть такая функция как SUM(), которая суммирует все значения одного столбца. А есть ли такая же функция, которая вместо суммирования значений умножает их?
28 май 09, 12:49    [7238985]     Ответить | Цитировать Сообщить модератору
 Re: Умножение значений столбца  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3197
Нет. Но есть известное из школьного курса правило, что логарифм произведения равен сумме логарифмов.
28 май 09, 12:51    [7239001]     Ответить | Цитировать Сообщить модератору
 Re: Умножение значений столбца  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Ennor Tiegael
Нет. Но есть известное из школьного курса правило, что логарифм произведения равен сумме логарифмов.
Но это решение ещё предстоит адаптировать для отрицательных чисел и для чисел, близких к нулю...
28 май 09, 12:55    [7239032]     Ответить | Цитировать Сообщить модератору
 Re: Умножение значений столбца  [new]
?????
Guest
Сумму логарифмов я так понимаю можно получить так: SUM(<Функция логарифма>(koeff))
28 май 09, 13:03    [7239086]     Ответить | Цитировать Сообщить модератору
 Re: Умножение значений столбца  [new]
?????
Guest
?????
Сумму логарифмов я так понимаю можно получить так: SUM(<Функция логарифма>(koeff))


А какой синтаксис функции логарифма в SQL, пишу LOG() выдает ошибку

A domain error occurred.

И второе как из произведения логарифмов получить прозведение чисел?
28 май 09, 13:05    [7239104]     Ответить | Цитировать Сообщить модератору
 Re: Умножение значений столбца  [new]
?????
Guest
EXP(SUM(LOG(koeff)))
28 май 09, 13:38    [7239393]     Ответить | Цитировать Сообщить модератору
 Re: Умножение значений столбца  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
?????
EXP(SUM(LOG(koeff)))
Сами задаёте вопросы, сами на них отвечаете?
Что будет, если:
1. Какой-нибудь koeff=0?
2. Какой-нибудь koeff<0?
3. Какой-нибудь koeff слегка >0 (достаточно для переполнения логарифма)?
4. Часть koeff<0, а другая часть >0 (надо же получить корректный знак результата)?
28 май 09, 14:03    [7239576]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить