裏MySQL ユーザー変数を使って合計と平均も同時に計算する その3
さらに合計と平均を別々に出してみます。
平均用のUNION ALLが1つ増えています。
平均を出すために@countで行数を足しこんでいます。
SELECT '00000/00/00' `日付`, 0 `インプレッション数`, 0 `クリック数`, 0 `アクション数`, 0.00 `クリック率`, 0.00 `コンバージョン率`, 0 `収益` FROM DUAL WHERE @imp:=0+@click:=0+@action:=0+@revenue:=0+@count:=0 UNION ALL SELECT date_format(`report_date`,'%Y年%m月%d日') , concat(`imp` ,' 回' ), concat(`click` ,' click' ), concat(`action` ,' action'), concat(cast(click * 100/imp as decimal(3,2)),' %'), concat(cast(action * 100/imp as decimal(3,2)),' %'), concat(`revenue`+ (@imp :=@imp + `imp` )*0 + (@click :=@click + `click` )*0 + (@action :=@action + `action` )*0 + (@revenue:=@revenue + `revenue`)*0 + (@count :=@count + 1 )*0 , ' 円') FROM report UNION ALL SELECT '平均', concat(cast(@imp / @count as unsigned),' 回' ), concat(cast(@click / @count as unsigned),' click' ), concat(cast(@action / @count as unsigned),' action'), concat(cast(@click * 100/@imp as decimal(3,2)),' %'), concat(cast(@action * 100/@imp as decimal(3,2)),' %'), concat(cast(@revenue / @count as unsigned),' 円' ) UNION ALL SELECT '合計', concat(cast(@imp as unsigned),' 回' ), concat(cast(@click as unsigned),' click' ), concat(cast(@action as unsigned),' action'), '−', '−', concat(cast(@revenue as unsigned) , '円')
日付 | インプレッション数 | クリック数 | アクション数 | クリック率 | コンバージョン率 | 収益 |
2011年12月01日 | 12125 回 | 315 click | 15 action | 2.60 % | 0.12 % | 200 円 |
2011年12月02日 | 32132 回 | 615 click | 40 action | 1.91 % | 0.12 % | 612 円 |
2011年12月03日 | 22545 回 | 345 click | 11 action | 1.53 % | 0.05 % | 315 円 |
2011年12月04日 | 28012 回 | 451 click | 30 action | 1.61 % | 0.11 % | 425 円 |
2011年12月05日 | 17122 回 | 315 click | 17 action | 1.84 % | 0.10 % | 375 円 |
2011年12月06日 | 16212 回 | 275 click | 11 action | 1.70 % | 0.07 % | 285 円 |
2011年12月07日 | 21454 回 | 487 click | 33 action | 2.27 % | 0.15 % | 448 円 |
2011年12月08日 | 41212 回 | 811 click | 64 action | 1.97 % | 0.16 % | 777 円 |
2011年12月09日 | 12151 回 | 301 click | 11 action | 2.48 % | 0.09 % | 285 円 |
2011年12月10日 | 21451 回 | 412 click | 22 action | 1.92 % | 0.10 % | 385 円 |
2011年12月11日 | 17151 回 | 260 click | 14 action | 1.52 % | 0.08 % | 275 円 |
2011年12月12日 | 23712 回 | 612 click | 39 action | 2.58 % | 0.16 % | 555 円 |
2011年12月13日 | 37121 回 | 701 click | 40 action | 1.89 % | 0.11 % | 657 円 |
2011年12月14日 | 41212 回 | 744 click | 74 action | 1.81 % | 0.18 % | 800 円 |
2011年12月15日 | 12141 回 | 160 click | 10 action | 1.32 % | 0.08 % | 125 円 |
2011年12月16日 | 15101 回 | 201 click | 10 action | 1.33 % | 0.07 % | 175 円 |
2011年12月17日 | 24121 回 | 317 click | 38 action | 1.31 % | 0.16 % | 488 円 |
2011年12月18日 | 32128 回 | 815 click | 66 action | 2.54 % | 0.21 % | 715 円 |
2011年12月19日 | 51215 回 | 888 click | 89 action | 1.73 % | 0.17 % | 981 円 |
2011年12月20日 | 36454 回 | 511 click | 41 action | 1.40 % | 0.11 % | 488 円 |
2011年12月21日 | 12155 回 | 304 click | 25 action | 2.50 % | 0.21 % | 285 円 |
平均 | 25092 回 | 469 click | 33 action | 1.87 % | 0.13 % | 460 円 |
合計 | 526927 回 | 9840 click | 700 action | − | − | 9651円 |