1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| insert into `album_statistics` (album_id, created_on)
select `albums`.`id`, CURDATE() from `albums` where `albums`.`displayed` = 1 and `albums`.`deleted` = 0;
update `album_statistics` set
`album_statistics`.`week_fan_count` = (
select count(*) from `favorite_albums`
where (DATEDIFF(CURDATE(), `favorite_albums`.`created_on`) < 7) and `favorite_albums`.`album_id` = `album_statistics`.`album_id` and `album_statistics`.`created_on` = CURDATE()
),
`album_statistics`.`week_read_count` = (
select count(*) from `album_views`
where (DATEDIFF(CURDATE(), `album_views`.`date`) < 7) and `album_views`.`album_id` = `album_statistics`.`album_id`
and `album_views`.`read` = 1 and `album_statistics`.`created_on` = CURDATE()
),
`album_statistics`.`week_critic_count` = (
select count(*) from `critics`
where (DATEDIFF(CURDATE(), `critics`.`created_on`) < 7) and `critics`.`album_id` = `album_statistics`.`album_id` and `album_statistics`.`created_on` = CURDATE()
),
`album_statistics`.`week_global_avg` = (
select avg(`critics`.`global_rating`) from `critics`
where (DATEDIFF(CURDATE(), `critics`.`created_on`) < 7) and `critics`.`album_id` = `album_statistics`.`album_id` and `album_statistics`.`created_on` = CURDATE()
),
`album_statistics`.`week_scenario_avg` = (
select avg(`critics`.`scenario_rating`) from `critics`
where (DATEDIFF(CURDATE(), `critics`.`created_on`) < 7) and `critics`.`album_id` = `album_statistics`.`album_id` and `album_statistics`.`created_on` = CURDATE()
),
`album_statistics`.`week_illustration_avg` = (
select avg(`critics`.`illustration_rating`) from `critics`
where (DATEDIFF(CURDATE(), `critics`.`created_on`) < 7) and `critics`.`album_id` = `album_statistics`.`album_id` and `album_statistics`.`created_on` = CURDATE()
)
;
update `albums`, `album_statistics`
set `albums`.`week_popularity` = (
calcul de popularité des albums
)
where `albums`.`id` = `album_statistics`.`album_id` and `album_statistics`.`created_on` = CURDATE()
; |
Partager