我在SQL以下數據:MySQL的排序VARCHAR字段
name ID
A[0] 1
A[1] 1
A[2] 1
AA[0] 2
AA[15] 2
AA[27] 2
我想首先由ID,然後通過名稱進行排序該數據,。按ID排序很容易,因爲它是一個int,問題在於名稱 - 我得到奇怪的值,例如a [7],a [27],a [3],當我試圖按數字排序時。當排序alfolbetically我得到你所期望的,a [10],a [11] ... a [19],[2]等
我認爲這是因爲該字段是一個varchar並具有數值和文本部分。有沒有什麼辦法來排序呢?將它分割成子字符串似乎是一個不好的選擇,因爲每個部分的長度(文本和數字)不是恆定的。
謝謝!
什麼是你的SELECT語句的樣子(通過拆分或獲取子獲得)? – Hituptony 2013-02-18 14:15:28