2017-09-03 5 views
0

私のコードに少し問題があります。 通常、私のコードには最も多くの人が死亡したプレイヤーが表示されます。 それはこのC++ mysql order byは注文されていません

user1 10 
user3 9 
user6 4 
user10 1 
user2 0 

のようになります。しかし、それだけでランダムに並べ替えられています。

私のコードです:

if (mysql_query(&mysql, "SELECT Name, Kills FROM userdata ORDER BY (Kills) DESC LIMIT 0,10;")) 
{ 
    printf("ok"); 
} 
MYSQL_RES *result = mysql_store_result(&mysql); 

if (result == NULL) 
{ 
    printf("Result is null"); 
} 
int num_fields = mysql_num_fields(result); 

MYSQL_ROW row; 

int i; 
num_fields = mysql_num_fields(result); 
while ((row = mysql_fetch_row(result))) 
{ 
    unsigned long *lengths; 
    lengths = mysql_fetch_lengths(result); 
    for(i = 0; i < num_fields; i++) 
    { 
     printf("%.*s", (int) lengths[i], 
       row[i] ? row[i] : "NULL"); 
    } 
    printf(" \n"); 
} 

私はあなたが私を助けることができると思います!あなたのコードで

+0

の制限10を使用してみてくださいそして、10をオフセットORDER BYは私にDESCを殺す。 –

+0

@RichardHodgesこれは何も変わらない – lolpop16

+0

あなたは私を誤解しています。このSQL文は、Killsの降順で結果を要求しています。それはまさにあなたが持っているものです。あなたが尋ねたこととまったく同じです。 –

答えて

0

は、あなたが0の行を選択したいようだ `のようだのみも最初の10行

SELECT Name, Kills FROM userdata ORDER BY Kills DESC LIMIT 10; 

を取得削除役に立たない()