我有一个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