MySQL实现排名并查询指定用户排名功能

用到user 用户表

说明:
@rownum := @rownum + 1 中 := 是赋值的作用,这句话的意思是先执行@rownum + 1,然后把值赋给@rownum;
(SELECT @rownum := 0) r 这句话的意思是设置rownum字段的初始值为0,即编号从1开始。

实现排名:

第一步 :先将用户排序 并给与名次

SELECT u.UserID as userId, u.NickName, @rownum:=@rownum + 1 AS rownum
FROM (SELECT @rownum:=0) r, user AS u
ORDER BY u.score DESC

结果:在这里插入图片描述
第二步 :按条件筛选

select t.rownum,t.userId
FROM
(SELECT u.UserID as userId, u.NickName, @rownum:=@rownum + 1 AS rownum
FROM (SELECT @rownum:=0) r, user AS u
ORDER BY u.score DESC) as t
where t.userId = ‘useid’

结果:在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值