【问题标题】:Multiply values of same column with same id将具有相同 id 的同一列的值相乘
【发布时间】:2022-08-23 23:07:39
【问题描述】:

有一个这样的表:

ID Value
1 0.2
2 0.55
1 0.4
3 0.6
... ...

我想将具有相同 ID 的值相乘。

所以我得到一个看起来像这样的表:

ID Value
1 0.08
2 0.55
1 0.08
3 0.6
... ...

不幸的是,我不知道从哪里开始,这是有道理的......

  • 我想将具有相同 ID 的值相乘如果有 3 行或更多行 ID=1 怎么办?
  • @Stu这是可能的,这使案件变得困难。
  • 你没有在你的问题中提到这一点,也没有在这种情况下提供预期的结果。

标签: sql


【解决方案1】:

尝试这个

SELECT id, (a.value * b.value) as sum
FROM tablename, tablename a
WHERE tablename.id = a.id

【讨论】:

  • 请不要鼓励Bad habbits
  • 谢谢,但这仅适用于 ID 仅出现 2 次的情况。但我有一些出场n>2。
【解决方案2】:
select ID,  EXP(Sum(LOG(Value))) as Value
from t
group by ID
ID Value
1 0.08
2 0.55
3 0.6

Fiddle

【讨论】:

    猜你喜欢
    • 2019-07-09
    • 1970-01-01
    • 2019-12-10
    • 1970-01-01
    • 2017-04-23
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    相关资源
    最近更新 更多