PHP mysql 實現排名並查詢指定使用者排名

2021-09-27 09:12:14 字數 903 閱讀 6562

情形如下:

對使用者表裡的所有使用者 的積分大小 【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 =  ";
查詢結果: 

其中 rownum 即對應該使用者的排名

MySQL實現排名並查詢指定使用者排名功能

用到user 使用者表 說明 rownum rownum 1 中 是賦值的作用,這句話的意思是先執行 rownum 1,然後把值賦給 rownum select rownum 0 r 這句話的意思是設定rownum欄位的初始值為0,即編號從1開始。實現排名 第一步 先將使用者排序 並給與名次 sel...

PHP MySQL實現模糊查詢員工資訊功能示例

一 注意兩點 1 用notepad 編輯時,格式選擇 編碼字符集 中文 gb2312 2 conn.php mysql select db db database13 connid mysql query set names gbk index.php 查詢企業員工的詳細資訊 查詢企業員工的詳細資訊...

php mysql查詢 php查詢mysql的例項

php查詢mysql的例項 背景 從mysql查詢各字段值輸出並且按照條件用紅色字型顯示滿足條件字段值。條件 1.syntime小於當前前一周時間的話顯示紅色。2.a欄位為 無 的話,顯示紅色。3.b欄位為 無 的話,顯示紅色。圖一資料庫結構 圖二資料庫各字段值 我的 我只滿足了第乙個條件,其餘兩個...