mysql字符串排序问题

SELECT `id`,`name`,`uname`,`level`,`path` FROM `qx_cate` ORDER BY path

图片描述

要在现有条件上改 必须order by path 我想要把id等于16的那个 排序到最后一个 该如何修改呢?

阅读 3.2k
3 个回答

因为path是按Alphabetical Sorting做的
题主要的是Natural Sorting
网上有相关的解决办法可以自己找一下

第一种:select * from qx_cate order by id desc;
第二种:select from qx_cate where id != 16 union all select from qx_cate where id = 16;

order by cast(replace(path, ',', '') as unsigned integer)

需要注意 path 超出 int 范围的情况, 或者另寻他法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题