+-----+----------+
| PID | Number |
+-----+----------+
| 1 | 1.3.0001 |
| 2 | 1.3.0002 |
| 3 | 1.1.0003 |
| 4 | 1.2.0004 |
+-----+----------+我有上面的表,现在如何运行查询order_by --仅是数字的最后4位数字?如果我按DESC号执行上述查询,结果为1.3.0001、1.3.0002、1.2.0004、1.1.0003,我希望仅用最后4位数对其进行排序,因此应该是1.2.0004、1.1.0003、1.3.0002、1.3.0001。
PS:由于很多原因,我不能使用顺序PID或任何其他列,我需要具体按列编号排序。
提前谢谢你
发布于 2017-05-03 03:02:54
我认为这是可行的,不能测试它,因为我没有你的数据
ORDER BY SUBSTRING_INDEX(number, '.', 2);或者,正如@nogad已经说过的,您可以通过一个子字符串简化这个命令,并将start位置作为第二个参数。
ORDER BY SUBSTRING(number, 4)https://stackoverflow.com/questions/43750332
复制相似问题