【发布时间】:2020-11-09 20:54:18
【问题描述】:
我需要按日期、国家/地区等汇总一些会话。该表包含每个会话的交易金额(以当地货币表示)和一个字段,其中包含交易时间的 exchange_rate 到 EUR。像这样:
amount | currency | exchange_rate | date | country
我运行 sum(amount/exchange_rate),但是,对于大约 0.5% 的行,exchange_rate 的值为 0,因此它会引发错误“不能除以 0”。
我尝试在以下情况下运行它:
sum(case when exchange_rate = 0 then sum(amount) else sum(amount/exchange_rate) end) as volume
但显然嵌套的 sum 是不允许的。有没有人知道我如何才能得到上述逻辑上应该产生的结果,但在 case when 语句中没有嵌套的总和?
【问题讨论】:
-
汇率为零时你想做什么?
-
@穿刺者;我想按照 GMB 的建议将 0 替换为 1
标签: mysql sql database sum case