he2802 3 年 前
コミット
b51e5a79f4

+ 5 - 5
zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsMapper.xml

@@ -313,7 +313,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="getQuestionNum" parameterType="Long" resultType="Long">
         SELECT
-            count( DISTINCT question_id ) question_num
+            count(  question_id ) question_num
         FROM
             exam_question
         WHERE
@@ -323,19 +323,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                     concat(
                             IFNULL((
                                        SELECT
-                                           GROUP_CONCAT( DISTINCT exam_id )
+                                           GROUP_CONCAT(  exam_id )
                                        FROM
                                            question_chapter_exam
                                        WHERE
                                                chapter_exam_id IN (
                                                SELECT
                                                    concat(
-                                                           IFNULL(( SELECT GROUP_CONCAT( DISTINCT major_id ) eids FROM goods_attached WHERE goods_id = #{goodsId} AND type = 2 ), '' ),
+                                                           IFNULL(( SELECT GROUP_CONCAT(  major_id ) eids FROM goods_attached WHERE goods_id = #{goodsId} AND type = 2 ), '' ),
                                                            ',',
                                                            IFNULL(
                                                                    (
                                                                        SELECT
-                                                                           GROUP_CONCAT( DISTINCT chapter_exam_id ) eids2
+                                                                           GROUP_CONCAT(  chapter_exam_id ) eids2
                                                                        FROM
                                                                            question_module_chapter
                                                                        WHERE
@@ -345,6 +345,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                                    ''
                                 ),
                             ',',
-                            IFNULL(( SELECT GROUP_CONCAT( DISTINCT major_id ) FROM goods_attached WHERE goods_id = #{goodsId} AND type = 3 ), '' ))))
+                            IFNULL(( SELECT GROUP_CONCAT(  major_id ) FROM goods_attached WHERE goods_id = #{goodsId} AND type = 3 ), '' ))))
     </select>
 </mapper>

+ 6 - 10
zhongzheng-system/src/main/resources/mapper/modules/user/UserExamRecordMapper.xml

@@ -107,19 +107,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="selectDoNum" parameterType="com.zhongzheng.modules.user.bo.UserExamRecordQueryBo" resultType="Long">
         SELECT
-            IFNULL( COUNT( DISTINCT question_id ), 0 ) num
+            IFNULL( COUNT(*), 0 ) num
         FROM
-            question
-        WHERE
-            FIND_IN_SET(
-                    question_id,(
+            (
                 SELECT
-                    group_concat( uer.do_question_ids ) AS ids
+                    e.exam_id,
+                    q.*
                 FROM
-                    user_exam_record uer
-                WHERE
-                        record_id IN ( SELECT MAX( record_id ) record_id FROM user_exam_record WHERE user_id = #{userId} AND goods_id = #{goodsId} GROUP BY exam_id )))
-
+                    ( SELECT exam_id, group_concat( do_question_ids ) AS ids FROM user_exam_record WHERE user_id = #{userId} AND goods_id = #{goodsId} GROUP BY exam_id ) e
+                        LEFT JOIN question q ON FIND_IN_SET( q.question_id, e.ids )) AS eq
     </select>
 
     <select id="selectRightNum" parameterType="com.zhongzheng.modules.user.bo.UserExamRecordQueryBo" resultType="Long">