2017-02-28 72 views
1

我在mysql查詢中遇到很多問題。 我正在寫訂單的查詢是顯示我的結果,但沒有正確的順序。我的表是爲什麼sql查詢不能正常工作

+----+--------+--------+ 
| ID | NAME | SALARY | 
+----+--------+--------+ 
| 1 | hari | 2000 | 
| 2 | haria | 2000 | 
| 3 | ramesh | 2000 | 
| 4 | rajesh | 5000 | 
| 5 | john | 21000 | 
| 6 | naag | 45000 | 
| 7 | sheena | 22000 | 
| 8 | anu | 34000 | 
| 9 | aman | 15000 | 
| 10 | salil | 9000 | 
+----+--------+--------+ 

我想爲了通過關鍵字

mysql> select salary from salary order by salary desc; 
+--------+ 
| salary | 
+--------+ 
| 9000 | 
| 5000 | 
| 45000 | 
| 34000 | 
| 22000 | 
| 21000 | 
| 2000 | 
| 2000 | 
| 2000 | 
| 15000 | 
+--------+ 

mysql> select salary from salary order by salary; 
+--------+ 
| salary | 
+--------+ 
| 15000 | 
| 2000 | 
| 2000 | 
| 2000 | 
| 21000 | 
| 22000 | 
| 34000 | 
| 45000 | 
| 5000 | 
| 9000 | 
+--------+ 

這些結果沒有顯示由ASC和DESC正常。爲什麼爲了工作不獲取所有的薪水。 在此先感謝。

+0

工資字段類型是什麼?文本,int,...? – tilz0R

回答

1

最可能的原因是SALARY字段的類型爲varchar而不是int。 如果工資類型爲varchar,則顯示排序。 如果您的工資是int,您將有預期的訂購。

+0

謝謝你的工作,非常感謝你。你節省了我的時間。 – user7635555

+0

@ user7635555很高興我幫了忙 – apomene

0

這是因爲您有text(或varchar)輸入字段類型。你可以看到訂單是由第一個字符,是有效的。

套裝salary字段類型爲int,並將努力,只要你想:

ALTER TABLE salary MODIFY salary INT NOT NULL;