我无法使用ORDER BY ASC按升序对数据进行排序

时间:2010-08-20 03:25:19

标签: sql database sorting sqldatatypes

我正在运行的查询是

select accountid from general order by accountid ASC

我得到的结果是

accountid
------------
1 
1001 
1002
10021 
10026
1006 
1007

为什么订货不正确?这是一个简单的查询,我完全迷失在如何解决这个问题。

3 个答案:

答案 0 :(得分:11)

列类型必须是数字(intnumberbigint等)类型..

现在看来它是一个VARCHAR类型的列......它的排序方式就像字典......

答案 1 :(得分:0)

如果SolutionID是VARCHAR列,并且它有一些像Sol0,Sol1,Sol2,.... 然后,如果你必须对列进行排序...使用下面的代码

cast (substring(SolutionID,4,10) as integer) desc

答案 2 :(得分:0)

试试这个,它有效:

select accountid from general order by convert(int, accountid) ASC