2014-02-27 46 views
0

至少值我有这样的MySQL查询 -mysql命令通过显示在顶部

"SELECT SALARY FROM emp ORDER BY salary DESC" 

这显示出下面的结果 - 为什么它显示在9000

| Salary| 
| 9000 | 
| 15500 | 
| 13500 | 
| 12700 | 
| 12000 | 
| 11000 | 

我只是不明白顶部...我的意思是如果我已经声明薪水必须是降序顺序的....然后为什么它是这样做的!请有人帮助我!

我自己也尝试做升序但随后它显示了“9000”在底部

+0

什么是列的数据类型? –

回答

0

远远看在数数字,9000 = 4和所有其余的5个。那是正确的顺序。该列未设置为INT我打赌

+0

如果列设置为INT我打赌它将被修复 – ATechGuy

0

可能是该字段薪水的数据类型不正确。 尝试使用DECIMAL(10,2)或FLOAT。

MySQL认为薪水是STRING。

0
SELECT CAST(SALARY AS UNSIGNED INTEGER) AS num FROM emp ORDER BY num DESC 

试试这个