這個如果想要性能的話,就用下面的sql語句實現:
成都創新互聯公司專業為企業提供汾陽網站建設、汾陽做網站、汾陽網站設計、汾陽網站制作等企業網站建設、網頁設計與制作、汾陽企業網站模板建站服務,10多年汾陽做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。
select orderNo from (select (@rowNum:=@rowNum+1) orderNo , userid ,pid from TABLE,(Select (@rowNum :=0) ) b )t where t.userid=2694
然后php獲得這條結果數組,取第一個元素即是排序
如果對這個sql語句有疑問,不明白,可以使用一個比較耗費性能的方法:
select userid from record
執行這條語句,獲得一個數組$res
遍歷前設置一個記錄排序的標識 $seq=1;
for(...){
$userid=$res['userid'];//把第seq 個位置的學號拿出來,跟想要的學號比
if($userid==2694){
break;
}
$seq++;
}
//如果 這個排序標識比結果集數組大小還大,說明沒這個userid的記錄。
$seq就是排序
我沒有測試 你可以自己試一下
SELECT * FROM table_name AS a ORDER BY a.`產業`,a.`市場份額` DESC;
表數據:
海信 冰箱 0.20 1
海信 冷柜 0.20 2
海爾 冰箱 0.19 3
海爾 冷柜 0.19 4
美的 冰箱 0.18 5
美的 冷柜 0.18 6
查詢結果:
海信 冰箱 0.20 1
海爾 冰箱 0.19 3
美的 冰箱 0.18 5
海信 冷柜 0.20 2
海爾 冷柜 0.19 4
美的 冷柜 0.18 6
望采納。
select id,integral,addtime from cos_member_vip order by integral desc,addtime asc--如果需要生成以積分為最高優先,其次以時間為從高到低為條件生成個排名字段,可用--ROW_NUMBER() OVER ()函數
按照并列且占位。
mysql按照并列且占位的規則來排名,例如96分應該是第四名,95分是第6名。
mysql排名并列即相同的值,相同的值保留重復名次,遇到下一個不同的值,跳躍到總共的排名。
網頁題目:mysql中排名怎么寫 mysql實現排名
鏈接地址:http://vcdvsql.cn/article26/ddcohcg.html
成都網站建設公司_創新互聯,為您提供靜態網站、品牌網站制作、面包屑導航、網站設計、企業建站、網站營銷
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯