2013-11-15 92 views
3
SELECT * FROM highscore ORDER BY score 

此代码总是将我的值从低到高排序,但我希望它们从最高到最低。sql order by从最高到最低值

其实我有两组数据在我的表,我总是得到

0 
235235 

,但我需要的是这样的:

235235 
0 

我已经尝试过

SELECT * FROM highscore ORDER BY CAST(score AS int) 

,但这给了我一个语法错误(“你的SQL语法有错误;检查与你的MySQL服务器版本对应的手册sion在第1行“INT”附近使用正确的语法))

我的表中得分设置为int(100)。有没有人有解决方案,我怎么可以这样排序?永远不会有负值或非整数值。

回答

13

你必须使用

SELECT * FROM highscore ORDER BY score DESC 

也存在

SELECT * FROM highscore ORDER BY score ASC 

,但是这是默认的行为。

+1

ASC =升序,DESC =降序以防OP没有意识到这一点。 – Dismissile