<?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.xinsixian.caiyi.dao.ext.PointRecordExtMapper"> <select id="selectAddPointRankOnActivity" resultType="com.xinsixian.caiyi.pojo.ext.UserPointRankVO"> select * from ( select CASE WHEN @point = temp.point THEN @rownum WHEN @point := temp.point THEN @rownum := @rownum + 1 WHEN @point = 0 THEN @rownum := @rownum + 1 END AS rank, temp.* from ( select ifnull(sum(amount),0) point ,user_id userId ,cu.nick_name nickName from caiyi_point_record cpr left join caiyi_user cu on cpr.user_id =cu.id <where> <if test="activityStartTime !=null"> and cpr.create_time >= #{activityStartTime} </if> <if test="activityEndTime !=null"> and cpr.create_time <= #{activityEndTime} </if> </where> group by cpr.user_id order by point desc <if test="activitySortCount !=null and activitySortCount !='' "> limit ${activitySortCount} </if> ) temp ,(select @rownum:=0,@point :=null ) d) temp1 <where> <if test="userId !=null"> temp1.userId=#{userId} </if> </where> </select> </mapper>
mysql 並列排名
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.