|
@@ -561,22 +561,20 @@
|
|
|
<result property="perNum" column="per_num_"/>
|
|
|
</resultMap>
|
|
|
<select id="queryStudentPer" resultMap="StudentRegisterPerDtoMap">
|
|
|
- SELECT a.name_ organ_name_,a.num student_num_,b.num per_num_,ifnull(b.num,0)*100/a.num per_ FROM (
|
|
|
- SELECT b.name_,COUNT(a.id_) num,b.id_ FROM sys_user a LEFT JOIN organization b ON a.organ_id_=b.id_
|
|
|
- WHERE a.id_ IN(
|
|
|
- SELECT b.id_ FROM course_schedule_student_payment a LEFT JOIN sys_user b ON a.user_id_=b.id_
|
|
|
- LEFT JOIN course_schedule c ON a.course_schedule_id_=c.id_ WHERE b.user_type_='STUDENT' AND c.status_ IN('UNDERWAY','NOT_START')
|
|
|
- GROUP BY a.user_id_,b.organ_id_ )
|
|
|
- GROUP BY organ_id_) a
|
|
|
+ SELECT a.name_ organ_name_,a.num_ student_num_,b.num_ per_num_,ifnull(b.num_,0)*100/a.num_ per_
|
|
|
+ FROM (SELECT o.id_,o.name_,COUNT(DISTINCT su.id_) num_ FROM sys_user su
|
|
|
+ LEFT JOIN course_schedule_student_payment cssp ON su.id_ = cssp.user_id_
|
|
|
+ LEFT JOIN student_registration sr ON su.id_ = sr.user_id_ AND cssp.music_group_id_ = sr.music_group_id_
|
|
|
+ LEFT JOIN organization o ON su.organ_id_ = o.id_
|
|
|
+ WHERE cssp.id_ IS NOT NULL AND su.user_type_ = 'STUDENT' AND (sr.id_ IS NULL OR sr.music_group_status_ != 'QUIT')
|
|
|
+ GROUP BY su.organ_id_) a
|
|
|
LEFT JOIN
|
|
|
- (SELECT b.name_,COUNT(a.id_) num,b.id_ FROM sys_user a LEFT JOIN organization b ON a.organ_id_=b.id_
|
|
|
- WHERE a.id_ IN(
|
|
|
- SELECT b.id_ FROM course_schedule_student_payment a LEFT JOIN sys_user b ON a.user_id_=b.id_
|
|
|
- LEFT JOIN course_schedule c ON a.course_schedule_id_ = c.id_
|
|
|
- WHERE b.user_type_='STUDENT' AND password_ IS NOT NULL AND c.status_ IN('UNDERWAY','NOT_START') GROUP BY a.user_id_,b.organ_id_ )
|
|
|
- GROUP BY organ_id_) b
|
|
|
- ON a.id_=b.id_
|
|
|
- WHERE a.name_ IS NOT NULL
|
|
|
+ (SELECT su.organ_id_ id_,COUNT(DISTINCT su.id_) num_ FROM sys_user su
|
|
|
+ LEFT JOIN course_schedule_student_payment cssp ON su.id_ = cssp.user_id_
|
|
|
+ LEFT JOIN student_registration sr ON su.id_ = sr.user_id_ AND cssp.music_group_id_ = sr.music_group_id_
|
|
|
+ WHERE cssp.id_ IS NOT NULL AND su.user_type_ = 'STUDENT' AND (sr.id_ IS NULL OR sr.music_group_status_ != 'QUIT') AND su.password_ IS NOT NULL
|
|
|
+ GROUP BY su.organ_id_) b
|
|
|
+ ON a.id_ = b.id_
|
|
|
ORDER BY per_ DESC
|
|
|
</select>
|
|
|
|