C++ mysql order by 不是有序的

标签 c++ mysql sql-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。然后尝试仅使用 limit 10 来获取前 10 行

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

同时删除无用的 ()

关于C++ mysql order by 不是有序的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46022497/

相关文章:

c++ - 为什么在该示例中模板参数没有自动推导?

c++ - 通过同步延长线程的生命周期 (C++11)

c++ - 多维数组中的数组偏移计算(列与行主要)

MYSQL 按列总和排序

Postgresql 特殊顺序 BY

c++ - Qt 中的多线程

java - 从数据库填充 JTree

javascript - 类型错误 : Cannot read property 'length' of undefined and other errors

sql - 如何修复关键字 'ORDER' 附近的错误语法

php - MacBook air M1芯片安装PHP的问题