|
@@ -106,24 +106,30 @@
|
|
|
e.name_ as imGroupName,
|
|
|
ifnull(b.playDay, 0) as playDay,
|
|
|
ifnull(c.playTime, 0) as playTime
|
|
|
- FROM temp_little_artist_training_camp_user_relation as a
|
|
|
- left join (select a.user_id_, count(playDay) as playDay
|
|
|
- from (SELECT cr.`user_id_`,
|
|
|
- date(cr.`create_time_`) as playDay
|
|
|
- FROM `sys_music_compare_record` cr
|
|
|
- WHERE date(cr.`create_time_`) >= #{param.startTime}
|
|
|
- AND date(cr.`create_time_`) <= #{param.endTime}
|
|
|
- GROUP BY cr.`user_id_`, date(cr.`create_time_`)
|
|
|
- HAVING sum(cr.`play_time_`) > 1200) as a
|
|
|
- group by a.user_id_) as b on a.user_id_ = b.user_id_
|
|
|
- left join (SELECT cr.`user_id_`,
|
|
|
- sum(cr.`play_time_`) as playTime
|
|
|
- FROM `sys_music_compare_record` cr
|
|
|
- WHERE date(cr.`create_time_`) >= #{param.startTime}
|
|
|
- AND date(cr.`create_time_`) <= #{param.endTime}
|
|
|
- GROUP BY cr.`user_id_`) as c on a.user_id_ = c.user_id_
|
|
|
- left join sys_user as d on d.id_ = a.user_id_
|
|
|
- left join im_group as e on a.im_group_id_ = e.id_
|
|
|
+ FROM `temp_little_artist_training_camp_user_relation` `a`
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT `a`.`user_id_`, COUNT(`playDay`) AS `playDay`
|
|
|
+ FROM (
|
|
|
+ SELECT `cr`.`user_id_`, DATE(`cr`.`create_time_`) AS `playDay`
|
|
|
+ FROM `sys_music_compare_record` `cr`
|
|
|
+ WHERE `cr`.`create_time_` >= DATE_ADD(DATE(#{param.startTime}), INTERVAL IF(#{param.startTime} = DATE(#{param.startTime}), 0, 1) DAY)
|
|
|
+ AND `cr`.`create_time_` < DATE_ADD(DATE(#{param.endTime}), INTERVAL 1 DAY)
|
|
|
+ GROUP BY `cr`.`user_id_`, DATE(`cr`.`create_time_`)
|
|
|
+ HAVING SUM(`cr`.`play_time_`) > 1200
|
|
|
+ ) `a`
|
|
|
+ GROUP BY `a`.`user_id_`
|
|
|
+ ) `b`
|
|
|
+ ON `a`.`user_id_` = `b`.`user_id_`
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT `cr`.`user_id_`, SUM(`cr`.`play_time_`) AS `playTime`
|
|
|
+ FROM `sys_music_compare_record` `cr`
|
|
|
+ WHERE `cr`.`create_time_` >= DATE_ADD(DATE(#{param.startTime}), INTERVAL IF(#{param.startTime} = DATE(#{param.startTime}), 0, 1) DAY)
|
|
|
+ AND `cr`.`create_time_` < DATE_ADD(DATE(#{param.endTime}), INTERVAL 1 DAY)
|
|
|
+ GROUP BY `cr`.`user_id_`
|
|
|
+ ) `c`
|
|
|
+ ON `a`.`user_id_` = `c`.`user_id_`
|
|
|
+ LEFT JOIN `sys_user` `d` ON `d`.`id_` = `a`.`user_id_`
|
|
|
+ LEFT JOIN `im_group` `e` ON `a`.`im_group_id_` = `e`.`id_`
|
|
|
<where>
|
|
|
a.activity_id_ = #{param.campId} and a.state_ = #{param.state}
|
|
|
<if test="param.imGroupId != null">
|