关于SQL的排序,和统计引发的问题
2020-03-04 本文已影响0人
vincent_wujia
要求:现有三张表xty_room_rank 房间排名表、xty_user_info用户信息表、xty_user_lev用户等级表
按时段查询用户表中的数据并排名,显示名次 如图A-1
A-1
图A-1没有名次,需要加上名次
这是代码
SELECT
a.sun_value,-- 用户贡献值
a.userid,-- 用户id
a.rankid,-- 房间id
xui.nickname,-- 用户昵称
xui.experiences,-- 用户经验值
xui.wx_head,-- 用户头像
xul.lev,-- 用户等级
xul.upload,-- 等级图标
xul.`name` -- 等级名称
FROM
(
SELECT
rankid,
roomid,
userid,
SUM(devote_value) as sun_value
FROM
xty_room_rank xrr
WHERE
xrr.roomid = 1
AND xrr.begintime >= 1583251200000
AND xrr.begintime < 1583337600000
GROUP BY
userid
LIMIT 0,
100
) a
INNER JOIN xty_user_info xui ON a.userid = xui.userid
JOIN xty_user_lev xul ON xul.experience_begin <= xui.experiences AND xul.experience_end > xui.experiences
ORDER BY
a.sun_value DESC
这个sql是不全面的,需要修正,由实际业务需求改,个人觉得这个问题对sql不熟悉的同学可能会挺麻烦的
详细的表+sql 暂时还是私聊我,萌新git不熟悉