SELECT *
FROM student
WHERE user_id_ = #{id}
SELECT *
FROM student
WHERE user_id_ = #{id} for update
SELECT *
FROM student
SELECT id_
FROM sys_user
WHERE id_ = #{userId} FOR
UPDATE
SELECT *
FROM sys_user
WHERE id_ = #{userId} FOR UPDATE
INSERT INTO student (user_id_,subject_id_list_,
service_tag_,
operating_tag_,
teacher_id_,create_time_,update_time_,service_tag_update_time_)
VALUES
(#{userId},#{subjectIdList},
#{serviceTag},
#{operatingTag},
#{teacherId},NOW(),NOW(),NOW())
UPDATE student
subject_id_list_ = #{subjectIdList},
service_tag_update_time_=IF(service_tag_ = #{serviceTag}, service_tag_update_time_, NOW()),
service_tag_ = #{serviceTag},
operating_tag_ = #{operatingTag},
operating_temp_tag_ = #{operatingTempTag},
teacher_id_=#{teacherId},
update_time_ = NOW()
WHERE user_id_ = #{userId}
SELECT * FROM student
SELECT COUNT(*)
FROM student
SELECT id_, username_, phone_,avatar_ FROM sys_user
ORDER BY id_
SELECT COUNT(id_) FROM sys_user
organ_id_ IN
#{organId}
AND (username_ LIKE CONCAT('%', #{search}, '%') OR phone_ LIKE CONCAT('%', #{search}, '%'))
AND FIND_IN_SET("STUDENT", user_type_)
SELECT *
FROM student
WHERE operating_temp_tag_ = #{operatingTempTag}
UPDATE student
subject_id_list_ = #{item.subjectIdList},
service_tag_ = #{item.serviceTag},
operating_tag_ = #{item.operatingTag},
operating_temp_tag_ = #{item.operatingTempTag},
teacher_id_=#{item.teacherId},
update_time_ = #{item.updateTime},
update_time_ = NOW()
WHERE user_id_ = #{item.userId}
UPDATE student
service_tag_ = #{serviceTag},
operating_tag_ = #{operatingTag},
update_time_ = NOW()
WHERE
user_id_ = #{studentId}
user_id_ IN
#{studentId}
UPDATE student
service_tag_update_time_ = IF(service_tag_=#{serviceTag}, service_tag_update_time_, NOW()),
service_tag_ = #{serviceTag},
update_time_ = NOW()
WHERE
service_tag_=0
AND user_id_ = #{studentId}
AND user_id_ IN
#{studentId}
UPDATE student s SET s.teacher_id_ = #{teacherId},s.update_time_ = NOW() WHERE FIND_IN_SET(s.user_id_,#{studentIds})
SELECT su.organ_id_,
o.name_ organ_name_,
su.username_ student_name_,
s.user_id_ student_id_,
tsu.id_ teacher_id_,
tsu.real_name_ teacher_name_,
s.operating_tag_,
a.vip_times_,
a.buy_practice_times_,
a.music_netWork_times_,
p.free_practice_times_
FROM student s
LEFT JOIN sys_user su ON s.user_id_ = su.id_
LEFT JOIN sys_user tsu ON tsu.id_ = s.teacher_id_
LEFT JOIN organization o ON o.id_ = su.organ_id_
LEFT JOIN (
SELECT cssp.user_id_,
SUM(case when (cs.group_type_ = 'VIP' AND cs.teach_mode_='ONLINE') then 1 ELSE 0 END) vip_times_,
SUM(case when (pg.type_='CHARGE') then 1 ELSE 0 END) buy_practice_times_,
SUM(case when (cs.type_='MUSIC_NETWORK' OR cs.type_='HIGH_ONLINE') then 1 ELSE 0 END) music_netWork_times_
FROM course_schedule_student_payment cssp
LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
LEFT JOIN practice_group pg ON pg.`id_` = cs.`music_group_id_` AND cs.`group_type_` = 'PRACTICE'
WHERE cs.status_ IN ('NOT_START','UNDERWAY') AND (cs.is_lock_ IS NULL OR cs.is_lock_=0) AND (cs.del_flag_ IS NULL OR cs.del_flag_=0)
GROUP BY cssp.user_id_
) a on a.user_id_ = s.user_id_
LEFT JOIN (
SELECT student_id_, count(id_) free_practice_times_
FROM practice_group
WHERE type_='FREE' AND group_status_ IN ('NORMAL', 'FINISH')
GROUP BY student_id_
) p ON p.student_id_ = s.user_id_
ORDER BY s.user_id_
SELECT COUNT(s.user_id_) FROM student s
LEFT JOIN sys_user su ON s.user_id_ = su.id_
LEFT JOIN sys_user tsu ON tsu.id_ = s.teacher_id_
LEFT JOIN (
SELECT cssp.user_id_,
SUM(case when (cs.group_type_ = 'VIP' AND cs.teach_mode_='ONLINE') then 1 ELSE 0 END) vip_times_,
SUM(case when (pg.type_='CHARGE') then 1 ELSE 0 END) buy_practice_times_,
SUM(case when (cs.type_='MUSIC_NETWORK' OR cs.type_='HIGH_ONLINE') then 1 ELSE 0 END) music_netWork_times_
FROM course_schedule_student_payment cssp
LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
LEFT JOIN practice_group pg ON pg.`id_` = cs.`music_group_id_` AND cs.`group_type_` = 'PRACTICE'
WHERE cs.status_ IN ('NOT_START','UNDERWAY') AND (cs.is_lock_ IS NULL OR cs.is_lock_=0) AND (cs.del_flag_ IS NULL OR cs.del_flag_=0)
GROUP BY cssp.user_id_
) a on a.user_id_ = s.user_id_
LEFT JOIN (
SELECT student_id_, count(id_) free_practice_times_
FROM practice_group
WHERE type_='FREE' AND group_status_ IN ('NORMAL', 'FINISH')
GROUP BY student_id_
) p ON p.student_id_ = s.user_id_
su.user_type_ LIKE '%STUDENT%'
AND (su.phone_ LIKE CONCAT('%',#{search},'%') OR su.username_ LIKE CONCAT('%',#{search},'%') OR su.id_
LIKE CONCAT('%',#{search},'%'))
AND FIND_IN_SET(su.organ_id_,#{organId})
AND s.teacher_id_ = #{teacherId}
AND s.operating_tag_ = #{operatingTag}
AND a.vip_times_ >=1
AND (a.vip_times_ =0 OR a.vip_times_ IS NULL)
AND p.free_practice_times_ >=1
AND (p.free_practice_times_ =0 OR p.free_practice_times_ IS NULL)
AND a.buy_practice_times_ >=1
AND (a.buy_practice_times_ =0 OR a.buy_practice_times_ IS NULL)
AND a.music_netWork_times_ >=1
AND (a.music_netWork_times_ =0 OR a.music_netWork_times_ IS NULL)
select teacher_id_ 'key', count(*) 'value'
FROM student
WHERE FIND_IN_SET(teacher_id_, #{teacherIds})
AND operating_tag_ = 1
GROUP BY teacher_id_
SELECT s.teacher_id_ 'key', COUNT(DISTINCT cssp.user_id_) 'value'
FROM course_schedule_student_payment cssp
LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_ AND cs.teach_mode_ = 'ONLINE'
LEFT JOIN student s ON s.user_id_ = cssp.user_id_
LEFT JOIN practice_group pg ON cssp.music_group_id_ = pg.id_ AND cssp.group_type_ = 'PRACTICE'
WHERE FIND_IN_SET(s.teacher_id_, #{teacherIds})
AND cs.status_ IN ('NOT_START', 'UNDERWAY')
AND (cs.is_lock_ IS NULL OR cs.is_lock_ = 0)
AND cs.group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
AND pg.group_status_ IN ('NORMAL', 'FINISH')
AND pg.buy_months_ >= 1
GROUP BY s.teacher_id_
SELECT s.teacher_id_ 'key', COUNT(DISTINCT pg.student_id_) 'value'
FROM practice_group pg
LEFT JOIN student s on s.user_id_ = pg.student_id_
LEFT JOIN course_schedule_student_payment vcssp
ON vcssp.user_id_ = pg.student_id_ AND vcssp.group_type_ = 'VIP'
LEFT JOIN course_schedule_student_payment pcssp
ON pcssp.user_id_ = pg.student_id_ AND pcssp.group_type_ = 'PRACTICE'
LEFT JOIN course_schedule vcs ON vcs.id_ = vcssp.course_schedule_id_ AND vcs.teach_mode_ = 'ONLINE'
LEFT JOIN course_schedule pcs ON pcs.id_ = pcssp.course_schedule_id_
WHERE FIND_IN_SET(s.teacher_id_, #{teacherIds})
AND pg.group_status_ IN ('NORMAL', 'FINISH')
AND vcs.status_ IN ('NOT_START', 'UNDERWAY')
AND pcs.status_ IN ('NOT_START', 'UNDERWAY')
AND (vcs.is_lock_ IS NULL OR vcs.is_lock_ = 0)
AND (pcs.is_lock_ IS NULL OR pcs.is_lock_ = 0)
AND pg.buy_months_ >= 1
GROUP BY s.teacher_id_
SELECT su.id_ user_id_,s.teacher_id_ FROM sys_user su
LEFT JOIN student s ON s.user_id_=su.id_
WHERE s.service_tag_=1 AND FIND_IN_SET('STUDENT', su.user_type_)
SELECT
s.user_id_,
s.teacher_id_,
cs.group_type_,
cs.teach_mode_,
IF(CONCAT( cs.class_date_, ' ', cs.end_class_time_ )<#{courseExpireDate} AND (sa.status_ != 'NORMAL' OR sa.status_ IS NULL), NULL, cs.class_date_) course_start_time_
FROM
student s
LEFT JOIN course_schedule_student_payment cssp ON cssp.user_id_ = s.user_id_
LEFT JOIN student_attendance sa ON cssp.course_schedule_id_=sa.course_schedule_id_ AND sa.user_id_=cssp.user_id_
LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
AND cs.group_type_ IN ('VIP', 'PRACTICE')
AND CONCAT( cs.class_date_, ' ', cs.start_class_time_ ) > #{monday}
WHERE
s.service_tag_ = 1
SELECT
s.user_id_,
s.teacher_id_,
cs.group_type_,
cs.teach_mode_,
IF(CONCAT( cs.class_date_, ' ', cs.end_class_time_ )<#{courseExpireDate} AND (sa.status_ != 'NORMAL' OR sa.status_ IS NULL), NULL, cs.class_date_) course_start_time_
FROM
student s
LEFT JOIN course_schedule_student_payment cssp ON cssp.user_id_ = s.user_id_
LEFT JOIN student_attendance sa ON cssp.course_schedule_id_=sa.course_schedule_id_ AND sa.user_id_=cssp.user_id_
LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
AND cs.group_type_ IN ('VIP', 'PRACTICE')
AND CONCAT( cs.class_date_, ' ', cs.start_class_time_ ) > #{monday}
WHERE
s.service_tag_ = 1 AND s.user_id_ IN
#{studentId}
SELECT
s.student_id_ user_id_,
s.teacher_id_,
cs.group_type_,
cs.teach_mode_,
IF(CONCAT( cs.class_date_, ' ', cs.end_class_time_ )<#{courseExpireDate} AND (sa.status_ != 'NORMAL' OR sa.status_ IS NULL), NULL, cs.class_date_) course_start_time_
FROM
student_extracurricular_exercises_situation_ s
LEFT JOIN course_schedule_student_payment cssp ON cssp.user_id_ = s.student_id_
LEFT JOIN student_attendance sa ON cssp.course_schedule_id_=sa.course_schedule_id_ AND sa.user_id_=cssp.user_id_
LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
AND cs.group_type_ IN ('VIP', 'PRACTICE')
AND CONCAT( cs.class_date_, ' ', cs.start_class_time_ ) > #{monday}
WHERE
s.monday_ = #{monday} AND s.student_id_ IN
#{studentId}
SELECT user_id_
FROM student stu
LEFT JOIN sys_user su ON stu.user_id_=su.id_
WHERE service_tag_=1 AND su.del_flag_=0
SELECT
cssp.user_id_ studentId,
stu.service_tag_update_time_ serviceTagUpdateTime,
CONCAT(cs.class_date_, ' ', cs.start_class_time_) courseStartTime
FROM course_schedule_student_payment cssp
LEFT JOIN course_schedule cs ON cs.id_=cssp.course_schedule_id_
LEFT JOIN student stu ON cssp.user_id_ = stu.user_id_
WHERE stu.service_tag_=1 AND class_date_>=#{monday}
SELECT username_ FROM sys_user WHERE id_ IN
#{studentId}
SELECT
su.id_ userId,su.username_ userName, su.avatar_ avatar, su.phone_ phone
FROM
sys_user su
WHERE
1=1
AND su.del_flag_=0 AND su.lock_flag_=0
AND FIND_IN_SET('STUDENT',su.user_type_)
AND su.organ_id_ IN
#{organId}
AND (su.username_ LIKE CONCAT('%', #{search}, '%') OR su.phone_ LIKE CONCAT('%', #{search}, '%'))
ORDER BY su.id_
SELECT
COUNT(su.id_)
FROM
sys_user su
WHERE
1=1
AND su.del_flag_=0 AND su.lock_flag_=0
AND FIND_IN_SET('STUDENT',su.user_type_)
AND su.organ_id_ IN
#{organId}
AND (su.username_ LIKE CONCAT('%', #{search}, '%') OR su.phone_ LIKE CONCAT('%', #{search}, '%'))
SELECT s.user_id_,t.real_name_ teacher_name_ FROM student s
LEFT JOIN sys_user t ON t.id_ = s.teacher_id_
WHERE s.user_id_ IN
#{id}
SELECT * FROM student WHERE user_id_ IN
#{studentId}