MySQL ORDER BY带负数的数值问题

Tom*_*Tom 4 mysql

我使用的查询使用:

ORDER BY score DESC;
Run Code Online (Sandbox Code Playgroud)

'得分'只保存数值,也可以是负值.它们似乎没有以正确的顺序显示.负数可以出现在正数之上.

有谁知道我应该使用这样的查询来显示它们:

  • 10
  • 1
  • -1
  • -5
  • -10

还要阻止他们这样做:

* 1
* 10
* 11
* 123
* 1234
* 2
* 25
* 253
* 34
Run Code Online (Sandbox Code Playgroud)

谢谢.

mel*_*okb 5

order by cast(score as int) desc;
Run Code Online (Sandbox Code Playgroud)

您似乎将数字数据存储在字符串数据类型中.将得分作为数字数据类型会更好int.