|
|
@@ -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>
|
|
|
|
|
|
|