我有一個SQL查詢的問題。我希望我的結果按升序排序,但問題是DB只按照第一個數字對結果進行排序,而邏輯上,2應該在19之前。SQL Order by ... ASC
這裏是我的請求,其結果不走所有的截圖:
SELECT * FROM mail WHERE titre LIKE '%$mot%' ORDER BY mail.titre ASC
我要的是所有的結果進行排序是這樣的:1 2 3 4 5 .. 101 102 103 ... 8845 8850 ...等等。
你對這個問題有想法嗎?
問候。
我猜你切除了與敏感數據的一部分,但它似乎是你的記錄是由管道分隔的數據串charachter。你首先只需要把第一個管道前面的部分轉換爲int,或者只是找到管道的位置「i」並且在字符串和字母順序之前連接ni零,其中「n」足夠大以產生一個結果字符串比第一列中的任何值都大。 – BertuPG 2014-10-28 13:12:17