1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| <?xml version="1.0" encoding="UTF-8" ?>
| <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
| "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
| <mapper namespace="com.ruoyi.safety.mapper.SafetyLearningRecordMapper">
|
| <select id="selectStatistics" resultType="com.ruoyi.safety.dto.SafetyLearningStatistics">
| SELECT
| COUNT(1) AS totalCount,
| IFNULL(SUM(CASE WHEN status = 1 THEN 1 ELSE 0 END), 0) AS completedCount,
| IFNULL(SUM(CASE WHEN status = 0 THEN 1 ELSE 0 END), 0) AS unfinishedCount,
| IFNULL(SUM(duration), 0) AS totalDuration,
| CASE
| WHEN COUNT(1) = 0 THEN 0
| ELSE ROUND(IFNULL(SUM(CASE WHEN status = 1 THEN 1 ELSE 0 END), 0) / COUNT(1) * 100, 2)
| END AS completionRate
| FROM safety_learning_record
| WHERE del_flag = 0
| </select>
| </mapper>
|
|