|
@@ -583,6 +583,44 @@
|
|
|
GROUP BY DATE_FORMAT(mcr.create_time_, ${groupBy})
|
|
|
ORDER BY 'date'
|
|
|
</select>
|
|
|
+ <select id="getStudentTrainCount"
|
|
|
+ resultType="com.yonge.cooleshow.biz.dal.wrapper.TeacherIndexWrapper$PracticeTimeDto">
|
|
|
+ select COUNT(DISTINCT mcr.user_id_) practiceTime,DATE_FORMAT(mcr.create_time_, ${groupBy}) 'date' from sys_music_compare_record mcr
|
|
|
+ where mcr.user_id_ IN
|
|
|
+ <foreach collection="studentIds" item="studentId" open="(" close=")" separator=",">
|
|
|
+ #{studentId}
|
|
|
+ </foreach>
|
|
|
+ <if test="param.startTime != null and param.startTime != ''">
|
|
|
+ AND mcr.create_time_ BETWEEN #{param.startTime} AND #{param.endTime}
|
|
|
+ </if>
|
|
|
+ GROUP BY DATE_FORMAT(mcr.create_time_, ${groupBy})
|
|
|
+ ORDER BY 'date'
|
|
|
+ </select>
|
|
|
+ <select id="getStudentTrainOverViewList"
|
|
|
+ resultType="com.yonge.cooleshow.biz.dal.wrapper.TeacherIndexWrapper$StudentPracticeSummaryDto">
|
|
|
+ select su.username_ studentName,GROUP_CONCAT(sb.name_) subjectName,SUM(smcr.play_time_) totalPracticeTime,
|
|
|
+ COUNT(DISTINCT DATE_FORMAT(smcr.create_time_, '%Y-%m-%d')) practiceDays,
|
|
|
+ SUM(smcr.play_time_) / COUNT(DISTINCT DATE_FORMAT(smcr.create_time_, '%Y-%m-%d')) averagePracticeTime
|
|
|
+ from sys_music_compare_record smcr
|
|
|
+ left join sys_user su ON su.id_ = smcr.user_id_
|
|
|
+ left join student st ON st.user_id_ = su.id_
|
|
|
+ left join subject sb ON FIND_IN_SET(sb.id_,st.subject_id_)
|
|
|
+ where smcr.user_id_ IN
|
|
|
+ <foreach collection="studentIds" item="studentId" open="(" close=")" separator=",">
|
|
|
+ #{studentId}
|
|
|
+ </foreach>
|
|
|
+ <if test="param.startTime != null and param.startTime != ''">
|
|
|
+ AND smcr.create_time_ BETWEEN #{param.startTime} AND #{param.endTime}
|
|
|
+ </if>
|
|
|
+ GROUP BY smcr.user_id_
|
|
|
+ <if test="param.sortField != null and param.sortField != ''">
|
|
|
+ ORDER BY ${param.sortField} ${param.sortType}
|
|
|
+ </if>
|
|
|
+ <if test="param.sortField == null or param.sortField == ''">
|
|
|
+ ORDER BY totalPracticeTime DESC
|
|
|
+ </if>
|
|
|
+ LIMIT 10
|
|
|
+ </select>
|
|
|
<!--曲目练习统计-->
|
|
|
|
|
|
</mapper>
|