私は以下のSQLコードを持っています -
select distinct opr,
CASE
WHEN timestamp like '201302%' THEN ((SUM (charge / POWER (10, decimals)) OVER (PARTITION BY opr) * 1.15306))
WHEN timestamp like '201303%' THEN ((SUM (charge / POWER (10, decimals)) OVER (PARTITION BY opr)* 1.14979))
ELSE 0
END as exr
FROM in
group by opr, timestamp, (charge / POWER (10, decimals))
そして、値を受け取ることを期待しています-1080.104079
ただし、2つの値が得られます-
この値 1079.459992 が取得されます。これは、exr がスイープされているためです。これは誤りです。'Feb' の料金は、'Feb' の exr で乗算する必要があるためです。
コードを修正して、真の値である 1080.104079 のみを受け取ることができるようにしてください。