php - MySQL 没有正确排序数据

标签 php mysql sql sql-order-by

我使用MySQL已经很长时间了,从来没有遇到过这个问题。我有一个存储应用程序分数的表。出于某种原因,当我按 score ASC 排序时,最高分显示在最前面,最低分显示在最后。请看下面的截图:

enter image description here

这是我的查询:

SELECT category, subject, max(score) as score FROM scores 
WHERE customer_id = 1086 AND category = 'Business' 
GROUP BY subject ORDER BY score ASC

关于为什么会发生这种情况有什么想法吗?

最佳答案

将分数的数据类型从字符串(例如 varchar/text)更改为数字(例如 int)。这应该可以解决排序问题。

当值按字符串排序(按字母顺序)时,“60”中的“6”排在“8”之前。

作为临时解决方法,您还可以尝试 order by score+0 asc 尝试将您的值转换为数字。

关于php - MySQL 没有正确排序数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21448165/

相关文章:

php - WordPress 通过帖子链接更新帖子元数据(自定义字段)

php - 在 yii 1.1 中使用 MYsql 创建表

sql - 在窗口中选择第一个和最后一个日期

sql - 简单的 WHERE 子句,但保留提取的行并填充它们将为空值

PHP- MySQL 数据库插入操作不起作用

php - 当codeigniter中Left Join表为空时查询返回空

javascript - 通过 Ajax 将 JavaScript 函数传递给 PHP 文件

mysql - 用户注册时自动在数据库中创建表是一种好习惯吗?

MySQL 限制,无法协同工作

c# - 获取满足sql查询的第二条记录