0
我正在为新货车系统创建一个选择和包装列表,因为这条路线是最优的,我需要根据我们的产品行的顺序对SKU列表进行排序。第一个字母,或前两个字母表示仓库中的位置。Mysql - priotize按数字排序的字母排序
因此,有这个名单从排序是这样的:
ORDER BY IF(sku RLIKE '^[a-z]', 1, 2), sku ASC;
+-------------+
| sku |
+-------------+
| A3-1-1195 |
| A3-1-1195 |
| AA6-8-7117 |
| AB10-7-6405 |
| AB10-7-6405 |
| AB4-4-3487 |
| AB5-6-3460 |
| AB6-3-3445 |
| C1-8-5623 |
| K1-4-1835 |
| O7-7-4737 |
| O8-7-4344 |
| O8-7-4344 |
| U1-8-6664 |
+-------------+
编辑:如果所有的数字排序第一优先,然后是数字
我理想中的结果将是。尽管如此,如果第二个字符是数字,它应该按字母顺序排序。
+-------------+
| sku |
+-------------+
| AB4-4-3487 |
| AB5-6-3460 |
| AB6-3-3445 |
| AB10-7-6405 |
| AB10-7-6405 |
| AA6-8-7117 |
| A3-1-1195 |
| A3-1-1195 |
| C1-8-5623 |
| K1-4-1835 |
| O7-7-4737 |
| O8-7-4344 |
| O8-7-4344 |
| U1-8-6664 |
+-------------+
感谢您的答复! :-)我已经更新了我的目标,以反映第二个字符应该在alfabetical desc中排序。如果一个数字。 –