|  | @@ -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>
 |