Skip to content

Instantly share code, notes, and snippets.

@harapeko
Created May 23, 2014 21:23
Show Gist options
  • Save harapeko/aeafa13202485846a840 to your computer and use it in GitHub Desktop.
Save harapeko/aeafa13202485846a840 to your computer and use it in GitHub Desktop.
ヾ(o゚ω゚o)ノ゙INSERT...SELECT内でCASE文使ったら1回でイケた! ref: http://qiita.com/harapeko_wktk/items/ccbc8a5a31b08fc5f88e
INSERT INTO `movie_daily_play_count`
(`movie_daily_play_count`.`date`,
`movie_daily_play_count`.`free_movie_id`,
`movie_daily_play_count`.`android`,
`movie_daily_play_count`.`ios`,
`movie_daily_play_count`.`pc_start`,
`movie_daily_play_count`.`pc_end`,
`movie_daily_play_count`.`created`
)
SELECT
CURDATE() + INTERVAL -1 DAY,
`logs`.`free_movie_id`,
COUNT(CASE WHEN `logs`.`app_type`=1 THEN `logs`.`id` END) AS `android`,
COUNT(CASE WHEN `logs`.`app_type`=2 THEN `logs`.`id` END) AS `ios`,
COUNT(CASE WHEN `logs`.`app_type`=0 AND `logs`.`log_type`=1 THEN `logs`.`id` END) AS `pc_start`,
COUNT(CASE WHEN `logs`.`app_type`=0 AND `logs`.`log_type`=2 THEN `logs`.`id` END) AS `pc_end`,
now()
FROM
`movie_play_logs` AS `logs`
WHERE
DATE_FORMAT(`logs`.`created`, '%Y-%m-%d') = CURDATE() + INTERVAL -1 DAY
GROUP BY
`logs`.`free_movie_id`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment