裏MySQL ユーザー変数を使って合計と平均も同時に計算する その4 番外編
番外編として、こういったテスト用のサンプルデータを生成するのは骨が折れるので、例によってinsert_generate_seriesを使ってデータ作ります。
- 2012年01月のデータinsert_generate_seriesでランダムに作る
call insert_generate_series( 'report(report_date,imp,click,action,revenue)', concat( '("2012-01-01" + INTERVAL @num DAY),', 'FLOOR(10000 + RAND() * (50000 - 10000)),', 'FLOOR(imp * FLOOR(1 + RAND() * (2 - 1) ) / 100),', -- click: imp 1〜10% 'FLOOR(click * FLOOR( 5 + RAND() * ( 7 - 5) ) / 100),', -- action: click 5〜 7% 'FLOOR(action / FLOOR( 5 + RAND() * ( 7 - 5) ) * 100)' -- revenue: action 5〜 7% ), 1,date_format(LAST_DAY('2011-01-01'),'%d'),1)
- ついでにデータの作成に失敗した場合2012年01月のデータを削除します。
DELETE FROM report WHERE DATE_FORMAT(report_date, '%Y%m')=201201;