2011-12-24から1日間の記事一覧

裏MySQL ユーザー変数を使って合計と平均も同時に計算する その4 番外編

番外編として、こういったテスト用のサンプルデータを生成するのは骨が折れるので、例によってinsert_generate_seriesを使ってデータ作ります。 2012年01月のデータinsert_generate_seriesでランダムに作る call insert_generate_series( 'report(report_dat…

裏MySQL ユーザー変数を使って合計と平均も同時に計算する その2

ユーザー変数を使って、合計と平均を同時に出す場合は以下のとおり SELECT '00000/00/00' `report_date`, 0 `imp`, 0 `click`, 0 `action`, 0.00 `ctr`, 0.00 `cvr`, 0 `revenue` FROM DUAL WHERE @imp:=0+@click:=0+@action:=0+@revenue:=0 UNION ALL SELEC…

裏MySQL ユーザー変数を使って合計と平均も同時に計算する その3

さらに合計と平均を別々に出してみます。 平均用のUNION ALLが1つ増えています。 平均を出すために@countで行数を足しこんでいます。 SELECT '00000/00/00' `日付`, 0 `インプレッション数`, 0 `クリック数`, 0 `アクション数`, 0.00 `クリック率`, 0.00 `コ…

裏MySQL ユーザー変数を使って合計と平均も同時に計算する。

合計も同時に出したいだけであれば、GROUP BYと共にWITH ROLLUPを使うことでできます http://dev.mysql.com/doc/refman/4.1/ja/group-by-modifiers.html しかし、同時にカラムによって合計/平均を出したいなど複雑な条件の場合はできません。その場合ユーザ…