2
我有一個名爲「test」的表,其中有一個名爲「custom_id」的列,可以是字母和整數的混合。我想要一個MySQL查詢首先基於整數對它進行排序,然後基於字符串中的字母。即:按數字排序記錄,然後按字母排序MySQL
Input:
1b
1a
Apple5
Apple1
Bapple2
Bapple5
2a
3
Output (in ASC):
1a
1b
Apple1
2a
Bapple2
3
Apple5
Bapple5
以上與自然排序有點不同,因爲它不根據字符串的長度進行排序。我有以下查詢,在MariaDB的工作,但我正在尋找一個MySQL解決方案(無程序取悅):
SELECT custom_id FROM test
ORDER BY CAST(REGEXP_SUBSTR(custom_id,'[0-9]+') AS UNSIGNED) ASC, custom_id ASC