【问题标题】:sql server - multiply values by themselves [duplicate]sql server - 将值相乘[重复]
【发布时间】:2017-06-04 01:03:24
【问题描述】:

有一种方法可以在乘法 (*) 运算符中而不是 + 运算符中聚合值?对于这个例子,结果将是 140 (4*5*7=140)

SELECT  SUM(V) --*?
FROM    ( SELECT    4 V
          UNION ALL
          SELECT    5
          UNION ALL
          SELECT    7
        ) Q

【问题讨论】:

  • 没有内置。您可能需要使用光标并自己进行计算。否则在客户端上执行。但还要注意 SQL Server 上的整数范围:在溢出之前不需要很多行(即使是大于 1 的小值的复合乘法也会很快变大)。
  • 这些值存储在哪里?

标签: sql-server multiplication


【解决方案1】:
       select *
    into #a --*?
    FROM    ( SELECT    4 V
              UNION ALL
              SELECT    5
              UNION ALL
              SELECT    7
            ) Q

 select EXP(SUM(LOG(v))) As value from #a

SELECT  EXP(SUM(LOG(v)))
FROM    ( SELECT    4 V
          UNION ALL
          SELECT    5
          UNION ALL
          SELECT    7
        ) Q

【讨论】:

    猜你喜欢
    • 2019-01-31
    • 2017-04-08
    • 1970-01-01
    • 2017-07-17
    • 1970-01-01
    • 1970-01-01
    • 2013-05-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多