按订单排序 - 问题

-2 sql sql-server sql-server-2008

我有一个问题order by desc.例如,我想通过desc命令id为1-10的值.这是示例代码

select stu_ID from student order by stu_ID desc
Run Code Online (Sandbox Code Playgroud)

但是从这里我会得到这个结果

9
8
7
6
5
4
3
2
10
1
Run Code Online (Sandbox Code Playgroud)

我希望结果是这样的

10
9
8
7
6
5
4
3
2
1
Run Code Online (Sandbox Code Playgroud)

请帮助谢谢!

Joh*_*Woo 8

原因是因为列是一个字符串.对?

尝试将其转换为int,

SELECT * FROM tableName ORDER BY CAST(colName AS INT) DESC
Run Code Online (Sandbox Code Playgroud)

或者不进行强制转换,将列的数据类型更改为INT,以便您可以直接对记录进行排序,而无需转换为其他数据类型,

SELECT * FROM tableName ORDER BY colName DESC
Run Code Online (Sandbox Code Playgroud)