php mysql查詢排名的方法:1、透過SQL語句對所有使用者進行排名;2、透過「SELECT b.uid,b.rownum FROM(SELECT t.*, @rownum :...) 」語句查詢某個特定使用者的排名即可。
本文操作環境: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中文網其他相關文章!