所以,虽然我知道你已经找到了一个令人满意的答案,但我在这个问题上挣扎了一段时间,我们之前已经确定在SQL中做得不太好,我们将不得不在JSON数组上使用javascript。
下面是我如何使用SQL解决这个问题的。希望这对其他人有帮助:
我有如下数据:
Scene 1
Scene 1A
Scene 1B
Scene 2A
Scene 3
...
Scene 101
Scene XXA1
Scene XXA2
事实上,我并没有“铸造”东西,尽管我认为这可能也有用。
我首先替换了数据中不变的部分,在本例中是“场景”,然后做了一个LPAD来排列。这似乎可以很好地让alpha字符串与编号字符串一样正确排序。
我的
ORDER BY
条款看起来像:
ORDER BY LPAD(REPLACE(`table`.`column`,'Scene ',''),10,'0')
显然,这无助于解决最初的问题,因为这个问题并不统一——但我想这可能适用于许多其他相关的问题,所以把它放在那里。