sum(rev) 列の各行を列の合計で割る次のクエリがあります。
次の例では、sum(rev) 列の合計は 23193 です。Divide 列は次のように導出されます: sum(rev)/sum(rev) の行
select date,id,sum(rev),
NULLIF(rev,0) / sum(rev) over() as Divide
from test
where month(date) = 11
and year(date) = 2012
and day(date) = 02
and id = 'Client1'
group by date,id,rev
having sum(rev) <> 0
order by date
date id sum(rev) Divide
2012-11-02 00:00:00 Client1 1562.00 0.067348
2012-11-02 00:00:00 Client1 1.00 0.000043
2012-11-02 00:00:00 Client1 4689.00 0.202173
2012-11-02 00:00:00 Client1 267.00 0.011512
2012-11-02 00:00:00 Client1 16674.00 0.718924
2つの問題があります
1.) 日 (日付) 条件がコメント化されている場合、取得される値が間違っています。除算計算で正しい値が得られません。
date sum(rev) Divide
2012-11-02 00:00:00 1.00 0.000002
2012-11-02 00:00:00 267.00 0.000412
2012-11-02 00:00:00 1562.00 0.002412
2012-11-02 00:00:00 4689.00 0.007241
2012-11-02 00:00:00 16674.00 0.025749
2.) 日付ごとにグループ化したいので、2012 年 2 月 11 日のみのレコードがあるため、各日は 1 行のレコードのみである必要があります。
これらの 2 つのエラーの修正にご協力ください