2011-12-21 42 views
3

選擇最多我有一個像下面一組數據:從表問題

Id   Name 
==   ====== 
1   name1 
10   name10 
2   name2 
3   name3 
4   name4 
5   name5 
6   name6 
7   name7 
8   name8 
9   name9 

如果我從表寫選擇MAX(ID),它想回到我10最大值吧? 爲什麼我總是得到結果9而不是10?發生了什麼問題?

回答

8

推測Id是一個字符串而不是數字數據類型。

您應該將其更改爲更合適的數據類型,如integer

如果這是不可能的,那麼你需要做一個轉換爲數字數據類型。例如MAX(CAST(Id AS UNSIGNED))但我建議修復它。

4

我的猜測,你的Id列不是數字,而是一個varchar,所以它按字母順序排序,而不是數字排序。