change vor 4 Jahren
Ursprung
Commit
ed2ac2e838

+ 8 - 3
zhongzheng-system/src/main/resources/mapper/modules/user/UserMapper.xml

@@ -51,6 +51,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="hourse" column="sum_study"/>
         <result property="avatar" column="avatar"/>
         <result property="nickname" column="nickname"/>
+        <result property="rank" column="pm"/>
     </resultMap>
 
 
@@ -68,12 +69,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </select>
 
     <select id="selectByRanks" parameterType="com.zhongzheng.modules.user.bo.RanKingUserQuery" resultMap="RanKingUserResult">
-        SELECT sum(s.study_duration) AS sum_study,u.nickname,u.avatar  FROM `user` u
-        LEFT JOIN user_study_record s ON u.user_id=s.user_id where 1=1
+        SELECT A.*,@rank:=@rank+1 as pm
+        FROM
+            (
+            SELECT sum(s.study_duration) AS sum_study,u.nickname,u.avatar  FROM `user` u
+            LEFT JOIN user_study_record s ON u.user_id=s.user_id where 1=1
         <if test="userId != null and userId != ''">
             AND s.create_time BETWEEN #{startTime} and #{endTime}
         </if>
-        GROUP BY u.user_id LIMIT 20
+            GROUP BY u.user_id ORDER BY sum_study desc LIMIT 20
+            ) A ,(SELECT @rank:=0) B
     </select>