本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php mysql怎么查询排名?php+Mysql 实现排名并查询指定用户排名情形如下: 对用户表里的所有用户 的积分大小 【point 】实现排名 并 得到某一个用
本文操作环境:windows7系统、PHP7.1版、DELL G3电脑
php mysql怎么查询排名?
情形如下:
对用户表里的所有用户 的积分大小 【point 】实现排名 并 得到某一个用户的积分的具体排名
首先,对所有用户进行排名
$sql = "SELECT t.*, @rownum := @rownum + 1 AS rownum FROM (SELECT @rownum := 0) r,(SELECT uid,point FROM user ORDER BY `point` DESC) AS t ";
$sql = "SELECT t.*, @rownum := @rownum + 1 AS rownum FROM (SELECT @rownum := 0) r,(SELECT uid,point FROM user ORDER BY `point` DESC) AS t ";
注释:1、 SELECT @rownum := 0:表示对rownum赋初始值0
2、@rownum := @rownum + 1:表示对rownum加1,语句中会从1开始,每一行往下都自动加1
上述代码会根据user表中的point从大到小进行排序。
得到某个特定用户的排名
原理:把上步得到的数据看做一张表,根据uid 来查询特定用户的排名
$sql = "SELECT b.uid,b.rownum FROM(SELECT t.*, @rownum := @rownum + 1 AS rownum FROM (SELECT @rownum := 0) r,(SELECT uid,point FROM user ORDER BY `point` DESC) AS t) AS b WHERE b.uid = {$uid} ";
查询结果:{"uid":"300462","rownum":"10"}
其中 rownum 即对应该用户的排名。
--结束END--
本文标题: php mysql怎么查询排名
本文链接: https://www.lsjlt.com/news/478.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2023-09-30
2023-09-30
2023-09-30
2023-09-30
2023-09-30
2023-09-30
2023-09-30
2023-09-29
2023-09-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0