【发布时间】:2014-04-23 14:56:33
【问题描述】:
我在 Sequel Pro 中对列表进行排序,但排序不正确。这是查询:
Select personID, yearID, x, y
from Table
Where x>=25
order by y asc
这就是我得到的:
playerID yearID x y
**** 1930 40 170
**** 1921 59 171
**** 1930 41 174
**** 1938 50 175
**** 1927 47 175
**** 1937 40 183
**** 1931 46 184
**** 1930 56 191
**** 2002 27 56
**** 1973 26 56
**** 2008 25 56
表格在两个方向上延伸 - 它从 y=100 的顶部开始,以 y=99 的底部结束。显然它认为 3 位数字低于 2 位数字。但为什么?我该如何解决这个问题?
另外,y 是 VARCHAR 类型,长度为 255。
【问题讨论】:
-
因为varchar类型不被视为数字,数据类型可以改为数字吗?
-
Select personID, yearID, x, y from Table where x>=25 order by DECIMAL(y) asc
-
这样做是为了让您非常恼火,以至于您最终放弃并使用数字的正确数据类型来修复您的设计。
-
@a_horse_with_no_name 感谢您的讽刺和完全的无益。回复您的 cmets - 我是关系数据库的新手,我只是寻求帮助。另外,我提到我正在使用 Sequel Pro(这是原始问题的一部分,我在看到您的评论后没有添加它)。下次你可能想真正阅读这个问题。
-
@user3081195:仅供参考,据我所知,Sequel Pro 只是 MySQL 数据库的管理应用程序。您使用的数据库是 MySQL。
标签: sql