2016-07-14 28 views
0

我試圖讓我的網站的頂級用戶,但我遇到的問題是,如果一個或多個用戶有相同數量的贏得遊戲只有第一個結果出現在網站上。使用PHP中的MySQL無法獲得相同的值

林這段代碼在數據庫中進行搜索:

$rs1 = mysql_query(SELECT won,steamid,name,avatar,games 
    FROM `users` 
    WHERE won <> 0 
    GROUP BY won DESC LIMIT 18); 
while($row = mysql_fetch_array($rs1)) 
{ //AND HTML CODE HERE...} 

有人可以幫助我?我想告訴所有例如用戶如果他們有相同數量的贏得比賽,例如它會顯示這樣的:

RANK - USER - WON 
1 - NAME - 12 
2 - NAME - 8 
3 - NAME - 8 
4 - NAME - 4 

BTW,我知道我不應該使用mysql_query,但我不能這樣做的另一個辦法。在以集團

+0

這僅僅是一個強制性的評價告訴你,你不應該使用mysql_ *功能了。他們已被棄用,並在php7中被刪除。改用mysqli_ *或PDO。 –

回答

0

在我看來,你的GROUP BY應該是一個ORDER BY

rs1 = mysql_query(SELECT won,steamid,name,avatar,games 
       FROM `users` 
       WHERE won <> 0 
       ORDER BY won DESC LIMIT 18); 

如果還是不行,請共享表結構

0

添加名字by子句

SELECT won,steamid,name,avatar,games FROM users WHERE won <> 0 
GROUP BY won,name order by won,name DESC LIMIT 18 
+0

更新這樣的mysql查詢 –

+0

那麼只有一個問題解決了......現在我得到所有用戶打賭他們不是從有更多贏的遊戲的玩家那裏訂購 –

+2

請原諒我的無知但是你不需要一個ORDER BY東西DESC – RiggsFolly

1

我不認爲你by子句所需要的組,但如果這樣做,請考慮使用組中的所有投影領域的。儘管mysql允許您按不同的字段進行分組,但這樣做不是一個好習慣。