首頁  >  文章  >  後端開發  >  php mysql怎麼查詢排名

php mysql怎麼查詢排名

藏色散人
藏色散人原創
2021-11-01 10:29:242144瀏覽

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