你的數(shù)據(jù)庫設計不合理,當你有新的game的時候又新建一張表,這樣程序會變得非常復雜,正確的方法應該是只建立一個game表,字段有ID,GID,UID,money,其中GID為游戲的編碼(1、2、3、……),如果是這樣表結構,SQL你自己已經(jīng)會寫了。
創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都網(wǎng)站設計、成都網(wǎng)站制作、龍華網(wǎng)絡推廣、微信小程序開發(fā)、龍華網(wǎng)絡營銷、龍華企業(yè)策劃、龍華品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)建站為所有大學生創(chuàng)業(yè)者提供龍華建站搭建服務,24小時服務熱線:13518219792,官方網(wǎng)址:muchs.cn
對于你現(xiàn)在這樣麻煩的數(shù)據(jù)庫結構,可以利用視圖來實現(xiàn),建立一個視圖:
CREATE VIEW game AS
select '1' GID,UID,money from game1 UNION
select '2' GID,UID,money from game2 UNION
select '3' GID,UID,money from game3
這樣,你需要統(tǒng)計某用戶UID=uid的money總和,可以使用下面的SQL:
SELECT SUM(money) FROM game WHERE UID='uid'
你需要統(tǒng)計某用戶sname的money總和,可以使用下面的SQL:
SELECT SUM(money) FROM game WHERE UID IN (select UID from user WHERE sname='sname')
有了這個VIEW排名的SQL應該你知道怎么做了。
SELECT * FROM table_name AS a ORDER BY a.`產(chǎn)業(yè)`,a.`市場份額` DESC;
表數(shù)據(jù):
海信 冰箱 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 * FROM table_name ORDER BY `score` DESC
就是從表中按score從高到低排序后取出的結果
這個如果想要性能的話,就用下面的sql語句實現(xiàn):
select orderNo from (select (@rowNum:=@rowNum+1) orderNo , userid ,pid from TABLE,(Select (@rowNum :=0) ) b )t where t.userid=2694
然后php獲得這條結果數(shù)組,取第一個元素即是排序
如果對這個sql語句有疑問,不明白,可以使用一個比較耗費性能的方法:
select userid from record
執(zhí)行這條語句,獲得一個數(shù)組$res
遍歷前設置一個記錄排序的標識 $seq=1;
for(...){
$userid=$res['userid'];//把第seq 個位置的學號拿出來,跟想要的學號比
if($userid==2694){
break;
}
$seq++;
}
//如果 這個排序標識比結果集數(shù)組大小還大,說明沒這個userid的記錄。
$seq就是排序
我沒有測試 你可以自己試一下
應該把表B的score放到試卷表A ,
不然只能輸出
張三試卷1:第1名
李四試卷1:第2名
王五試卷1:第3名
陳六試卷1:第4名
這樣子
?php
mysql_connect('localhost','root','123');
mysql_select_db('lx');
mysql_query("SET?CHARACTER?SET?utf8");
mysql_query("SET?NAMES?utf8");
$arr?=?mysql_query("select?username,s?from?biaob?where?p_id?=?'1'?order?by?score?desc?");
$n?=?1;
while($a?=?mysql_fetch_array($arr)){
echo?'br'.$a['username'].'試卷1:第'.$n.'名';
$n++;
}
?
select id,integral,addtime from cos_member_vip order by integral desc,addtime asc--如果需要生成以積分為最高優(yōu)先,其次以時間為從高到低為條件生成個排名字段,可用--ROW_NUMBER() OVER ()函數(shù)
標題名稱:mysql排名怎么寫 mysql排名語句怎么寫
文章出自:http://muchs.cn/article36/hjegsg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、ChatGPT、建站公司、搜索引擎優(yōu)化、微信小程序、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)