From 0b3ff378a9faaf9d7a4831b7f0de67378fe0dfea Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 30 五月 2023 12:20:15 +0800
Subject: [PATCH] optimize 统计

---
 java110-db/src/main/resources/mapper/user/QuestionAnswerTitleValueServiceDaoImplMapper.xml |   52 ++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 40 insertions(+), 12 deletions(-)

diff --git a/java110-db/src/main/resources/mapper/user/QuestionAnswerTitleValueServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/user/QuestionAnswerTitleValueServiceDaoImplMapper.xml
index 29ef959..4b3a53e 100755
--- a/java110-db/src/main/resources/mapper/user/QuestionAnswerTitleValueServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/user/QuestionAnswerTitleValueServiceDaoImplMapper.xml
@@ -1,9 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="questionAnswerTitleValueServiceDaoImpl">
-
 
     <!-- 淇濆瓨绛斿嵎閫夐」淇℃伅 add by wuxw 2018-07-03 -->
     <insert id="saveQuestionAnswerTitleValueInfo" parameterType="Map">
@@ -16,9 +14,9 @@
 
     <!-- 鏌ヨ绛斿嵎閫夐」淇℃伅 add by wuxw 2018-07-03 -->
     <select id="queryQuestionAnswerTitleValueResult" parameterType="Map" resultType="Map">
-        select t.value_id,t.value_id valueId,t.title_id,t.title_id titleId,t.obj_id,t.obj_id
-        objId,t.status_cd,t.status_cd statusCd,t.obj_type,t.obj_type objType,t.qa_value,t.qa_value qaValue,t.seq
+        select t.value_id valueId,t.qa_value qaValue,count(uqav.person_id) userCount
         from question_answer_title_value t
+        LEFT JOIN user_question_answer_value uqav on t.value_id = uqav.value_id and uqav.status_cd = '0'
         where 1 =1
         <if test="valueId !=null and valueId != ''">
             and t.value_id= #{valueId}
@@ -26,7 +24,6 @@
         <if test="titleId !=null and titleId != ''">
             and t.title_id= #{titleId}
         </if>
-
         <if test="titleIds !=null">
             and t.title_id in
             <foreach collection="titleIds" item="item" open="(" close=")" separator=",">
@@ -48,12 +45,44 @@
         <if test="seq !=null and seq != ''">
             and t.seq= #{seq}
         </if>
-        order by t.seq
-        <if test="page != -1 and page != null ">
-            limit #{page}, #{row}
-        </if>
-
+        GROUP BY t.value_id,t.qa_value
     </select>
+
+    <!-- 鏌ヨ绛斿嵎缁撴灉閫夋嫨鎬讳汉鏁� -->
+    <select id="queryQuestionAnswerTitleValueResultCount" parameterType="Map" resultType="Map">
+        select count(uqav.person_id) allCount
+        from question_answer_title_value t
+        LEFT JOIN user_question_answer_value uqav on t.value_id = uqav.value_id and uqav.status_cd = '0'
+        where 1 =1
+        <if test="valueId !=null and valueId != ''">
+            and t.value_id= #{valueId}
+        </if>
+        <if test="titleId !=null and titleId != ''">
+            and t.title_id= #{titleId}
+        </if>
+        <if test="titleIds !=null">
+            and t.title_id in
+            <foreach collection="titleIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="objId !=null and objId != ''">
+            and t.obj_id= #{objId}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="objType !=null and objType != ''">
+            and t.obj_type= #{objType}
+        </if>
+        <if test="qaValue !=null and qaValue != ''">
+            and t.qa_value= #{qaValue}
+        </if>
+        <if test="seq !=null and seq != ''">
+            and t.seq= #{seq}
+        </if>
+    </select>
+
     <!-- 鏌ヨ绛斿嵎閫夐」淇℃伅 add by wuxw 2018-07-03 -->
     <select id="getQuestionAnswerTitleValueInfo" parameterType="Map" resultType="Map">
         select t.value_id,t.value_id valueId,t.title_id,t.title_id titleId,t.obj_id,t.obj_id
@@ -66,7 +95,6 @@
         <if test="titleId !=null and titleId != ''">
             and t.title_id= #{titleId}
         </if>
-
         <if test="titleIds !=null">
             and t.title_id in
             <foreach collection="titleIds" item="item" open="(" close=")" separator=",">

--
Gitblit v1.8.0