|
|
@@ -243,4 +243,30 @@
|
|
|
AND wb.create_time between #{nstartTime} and #{nendTime}
|
|
|
order by LPAD(wb.build, 20, '0'),wb.dormitory,wb.number asc
|
|
|
</select>
|
|
|
+
|
|
|
+ <select id="collegeStudentStay" resultType="com.template.model.vo.BedCheckRateVO">
|
|
|
+ SELECT
|
|
|
+ wo.`name` as collegeName,
|
|
|
+ SUM(CASE WHEN wb.sex = '男' THEN 1 ELSE 0 END) AS male_total,
|
|
|
+ SUM(CASE WHEN wb.sex = '男' AND wb.is_check = 1 THEN 1 ELSE 0 END) AS male_check,
|
|
|
+ ROUND(
|
|
|
+ SUM(CASE WHEN wb.sex = '男' AND wb.is_check = 1 THEN 1 ELSE 0 END) * 100.0
|
|
|
+ / NULLIF(SUM(CASE WHEN wb.sex = '男' THEN 1 ELSE 0 END), 0), 2
|
|
|
+ ) AS male_rate,
|
|
|
+ SUM(CASE WHEN wb.sex = '女' THEN 1 ELSE 0 END) AS female_total,
|
|
|
+ SUM(CASE WHEN wb.sex = '女' AND wb.is_check = 1 THEN 1 ELSE 0 END) AS female_check,
|
|
|
+ ROUND(
|
|
|
+ SUM(CASE WHEN wb.sex = '女' AND wb.is_check = 1 THEN 1 ELSE 0 END) * 100.0
|
|
|
+ / NULLIF(SUM(CASE WHEN wb.sex = '女' THEN 1 ELSE 0 END), 0), 2
|
|
|
+ ) AS female_rate
|
|
|
+ FROM
|
|
|
+ welcome_bed wb
|
|
|
+ LEFT JOIN welcome_org wo ON wb.college_id = wo.id AND wo.deleted = 0
|
|
|
+ WHERE
|
|
|
+ wb.deleted = 0
|
|
|
+ AND wb.create_time BETWEEN #{startTime} AND #{endTime}
|
|
|
+ GROUP BY
|
|
|
+ wb.college_id, wo.`name`
|
|
|
+
|
|
|
+ </select>
|
|
|
</mapper>
|