Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在我的生活中,我无法理解这个价值“意味着什么”,它应该传达什么信息?对于价格或任何其他类型的价值,这一点的实际应用是什么?请启发我。对于我来说,这实际上不是为了价格,而是为了获得收益率的产品(数量输出/数量输入)。@Marjannema让我来到这里的用例:_Sql_Aggregate - Fatal编程技术网

Sql 在我的生活中,我无法理解这个价值“意味着什么”,它应该传达什么信息?对于价格或任何其他类型的价值,这一点的实际应用是什么?请启发我。对于我来说,这实际上不是为了价格,而是为了获得收益率的产品(数量输出/数量输入)。@Marjannema让我来到这里的用例:

Sql 在我的生活中,我无法理解这个价值“意味着什么”,它应该传达什么信息?对于价格或任何其他类型的价值,这一点的实际应用是什么?请启发我。对于我来说,这实际上不是为了价格,而是为了获得收益率的产品(数量输出/数量输入)。@Marjannema让我来到这里的用例:,sql,aggregate,Sql,Aggregate,在我的生活中,我无法理解这个价值“意味着什么”,它应该传达什么信息?对于价格或任何其他类型的价值,这一点的实际应用是什么?请启发我。对于我来说,这实际上不是为了价格,而是为了获得收益率的产品(数量输出/数量输入)。@Marjannema让我来到这里的用例:表risk和risk\u preventioneevry risk有一个损坏值代表处于风险中的金额。每个risk\u prevention都有一个risk\u乘数>0,exp(sum(log(var1))是var始终为正时的乘积(var1)。“


在我的生活中,我无法理解这个价值“意味着什么”,它应该传达什么信息?对于价格或任何其他类型的价值,这一点的实际应用是什么?请启发我。对于我来说,这实际上不是为了价格,而是为了获得收益率的产品(数量输出/数量输入)。@Marjannema让我来到这里的用例:表
risk
risk\u prevention
eevry risk有一个
损坏值
代表处于风险中的金额。每个
risk\u prevention
都有一个
risk\u乘数
>0,exp(sum(log(var1))是var始终为正时的乘积(var1)。“这只是数学和对数上的聚合:)
log(a*b*c...*n)=log(a)+log(b)+log(c).+log(n)
快速问题。要使其工作,日志和电源函数必须使用相同的基址,对吗?但是LOG和EXP不在同一个基数上运行:LOG是base 10,而EXP是base e。因此正确的答案是使用LN代替LOG,或者使用10^ABSMult代替EXP(ABSMult)。对吗?在SQL Server中,有LOG(base e)和LOG10(base 10)。裸日志函数现在有一个可选的基本参数。确认了!我们的问题是,我们在SQL Server中使用了您的代码,然后将其移植到Teradata,其中LOG()以10为基数。显然,我们的计算毫无理由地突然中断了。我很确定我见过LOG是base 2的语言(不一定是SQL)。因为这个问题被标记为通用SQL,所以我们的主要任务是检查目标实现中日志函数的行为,如果没有得到预期的结果。顺便说一句,这是一个绝妙的想法和实施方案+1“SQL标准中没有产品集函数。不过,它似乎是一个很有价值的候选者”-几何平均值函数也是如此。不幸的是,这个答案是完全错误的。exp(sum(log(column)))适用于正数,或者可以看到下面更好的答案。标记,地理平均值是:exp(avg(log(x)))典故是:当已经有办法做某事时,叫嚣会被静音。无论如何,sql的传统重点是会计而不是数据科学。如果要计算整列值的乘积,请添加round()。有时.9999。。。这是非常聪明的T-SQL,
select-exp(sum(log(table.price))
Connor McDonald在他的文章中提到了这个答案。还提到了另一种解决方案(XML、model子句),并从性能视图进行了分析。我完全同意Connor的观点,最有效的方法是在Oracle环境中使用自定义聚合函数。
SELECT
    Exp(Sum(IIf(Abs([Num])=0,0,Log(Abs([Num])))))*IIf(Min(Abs([Num]))=0,0,1)*(1-2*(Sum(IIf([Num]>=0,0,1)) Mod 2)) AS P
FROM
   Table1
select exp (sum (ln (table.price))) from table ...
SELECT
    GrpID,
    CASE
       WHEN MinVal = 0 THEN 0
       WHEN Neg % 2 = 1 THEN -1 * EXP(ABSMult)
       ELSE EXP(ABSMult)
    END
FROM
    (
    SELECT
       GrpID, 
       --log of +ve row values
       SUM(LOG(ABS(NULLIF(Value, 0)))) AS ABSMult,
       --count of -ve values. Even = +ve result.
       SUM(SIGN(CASE WHEN Value < 0 THEN 1 ELSE 0 END)) AS Neg,
       --anything * zero = zero
       MIN(ABS(Value)) AS MinVal
    FROM
       Mytable
    GROUP BY
       GrpID
    ) foo
declare @Floats as table (value float)
insert into @Floats values (0.9)
insert into @Floats values (0.9)
insert into @Floats values (0.9)

declare @multiplier float = null

select 
    @multiplier = isnull(@multiplier, '1') * value
from @Floats

select @multiplier
   with recursive t(c) as (
     select unnest(array[2,5,7,8])
   ), r(c,n) as (
     select t.c, row_number() over () from t
   ), p(c,n) as (
     select c, n from r where n = 1
     union all
     select r.c * p.c, r.n from p join r on p.n + 1 = r.n
   )
   select c from p where n = (select max(n) from p);
   with recursive t(sale,price) as (
     select 'multiplication', 2 union
     select 'multiplication', 5 union
     select 'multiplication', 7 union
     select 'multiplication', 8 union
     select 'trivial', 1 union
     select 'trivial', 8 union
     select 'negatives work', -2 union
     select 'negatives work', -3 union
     select 'negatives work', -5 union
     select 'look ma, zero works too!', 1 union
     select 'look ma, zero works too!', 0 union
     select 'look ma, zero works too!', 2
   ), r(sale,price,n,maxn) as (
     select t.sale, t.price, row_number() over (partition by sale), count(1) over (partition by sale)
     from t
   ), p(sale,price,n,maxn) as (
     select sale, price, n, maxn
     from r where n = 1
     union all
     select p.sale, r.price * p.price, r.n, r.maxn
     from p
     join r on p.sale = r.sale and p.n + 1 = r.n
   )
   select sale, price
   from p
   where n = maxn
   order by sale;
sale,price
"look ma, zero works too!",0
multiplication,560
negatives work,-30
trivial,8
with recursive t(c) as (
  select unnest(array[2,5,7,8])
), p(a) as (
  select array_agg(c) from t
  union all
  select p.a[2:]
  from p
  cross join generate_series(1, p.a[1])
)
select count(*) from p where cardinality(a) = 0;