你好我有这个表,其中包含用户和他们拥有的点数,我想从具有最高点的用户开始显示表,但是当我尝试下面的代码时,它显示的是最常见的数量分数。
SELECT * FROM users ORDER BY points ASC
但不是
User | Points
Bob 20
Jon 16
Abu 16
Eli 15
确实
User | Points
Jon 16
Abu 16
Bob 20
Eli 15
看不应该20在顶部?它是最常见的点,我对PHP新手的任何帮助
编辑:感谢Hanky웃Panky我意识到我需要做什么ORDER BY CAST(points AS unsigned) DESC
是正确的方法。
答案 0 :(得分:0)
使用
<强> QUERY 强>
SELECT * FROM users ORDER BY points DESC
降序
答案 1 :(得分:0)
您的Points
字段必须是要以此方式解释的字符串。把它作为一个数字投射(如果你不能永久地改变数据类型成为一个数字)并且你很好。
SELECT * FROM users ORDER BY CAST(points AS unsigned) ASC
对于降序,请使用DESC
代替ASC
<强> Fiddle 强>
答案 2 :(得分:0)
请更改类型将字符串更改为整数或数字类型。
ALTER TABLE tablename MODIFY columnname INTEGER;
ALTER TABLE users MODIFY points INTEGER;