【问题标题】:SQL Descending value incorrectSQL 降序值不正确
【发布时间】:2019-04-20 18:46:15
【问题描述】:

我正在为一个游戏创建一个仪表板项目,在我的表格中,高分显示为 900,但是有些值高于该值,这怎么可能。

这是我的原型网站的示例截图 Sample Image Here

这是我使用的查询 显示高分

SELECT max( highscore ) as max FROM users

餐桌

SELECT id,username, highscore FROM users ORDER BY highscore DESC

这是我的表格格式

Ranking || Highscore ||
1       ||  945      ||
2       ||  905      ||
3       ||  823      ||
4       ||  3457     ||
5       ||  2680     ||

我希望最高值 (3457) 排在第一位,但 945 总是排在首位,并且顺序被破坏了我希望提供的示例图像能帮助我在网上解释事情真的很糟糕

谢谢,给您带来的不便深表歉意

【问题讨论】:

  • 您没有为我们提供足够的信息来处理。我的第一个想法是 MAX 被意外地用于字符串,因为 9 高于 2。这就是我的逻辑所说的。
  • 哎呀,我真的不擅长在网上解释事情
  • 运行sql语句desc users;并发布输出。 (编辑您的问题并添加它,格式化,不要放在评论中)
  • 向我们展示您的数据库架构。
  • 抱歉回复晚了,我已经编辑了我的问题,再次抱歉

标签: php sql dashboard


【解决方案1】:

也许您将 Highscore 列声明为 varchar?如果您尝试此查询:

SELECT id,
       username, 
       highscore 
FROM users 
ORDER BY CAST(highscore as int) DESC

SELECT max( CAST(highscore as int) ) as max 
FROM users

如果你把它转换成整数会输出什么?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-14
    • 1970-01-01
    • 1970-01-01
    • 2013-07-21
    • 2016-03-05
    • 1970-01-01
    • 1970-01-01
    • 2021-11-16
    相关资源
    最近更新 更多