// 在结果表后在加一列递增一 作为排名使用
// 为了分页的时候排名是在整体数据上进行排序而不是每一页都是从1开始这个 @row_num应该是动态的 #{offset} 和limt #{offset} 一致
SET @row_num = 11;
// 由于查询的条件中有group BY 排序sort如果在里面的话会乱序 所以要在结果上进行添加 sort SELECT
result.*, @row_num := @row_num + 1 AS sort
FROM
( //普通的数据查询结果
SELECT
ui.user_id,
ui.img,
ui.nick_name,
ui.sex,
sum(ugal.numbers) giftCount
FROM
user_give_away_log ugal
LEFT JOIN user_info ui ON ugal.user_id = ui.user_id
WHERE
ugal.is_type = 2
AND ui.statues = 1
AND ui.del = 1
GROUP BY
ugal.user_id
ORDER BY
giftCount DESC,
CONVERT (ui.user_id, CHAR)
) AS result // 分页要在结果之外 否则每页排名都是从1开始
LIMIT #{offset}, #{limit}