首页 >后端开发 >PHP问题 >php mysql怎么查询排名

php mysql怎么查询排名

藏色散人
藏色散人原创
2021-11-01 10:29:242194浏览

php mysql查询排名的方法:1、通过SQL语句对所有用户进行排名;2、通过“SELECT b.uid,b.rownum FROM(SELECT t.*, @rownum :...)”语句查询某个特定用户的排名即可。

php mysql怎么查询排名

本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑

php mysql怎么查询排名?

PHP+mysql 实现排名并查询指定用户排名

情形如下:

  对用户表里的所有用户 的积分大小 【point 】实现排名  并 得到某一个用户的积分的具体排名

1、首先,对所有用户进行排名

$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从大到小进行排序。

2、得到某个特定用户的排名

  原理:把上步得到的数据看做一张表,根据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 即对应该用户的排名。

推荐学习:《PHP视频教程

以上是php mysql怎么查询排名的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn