【问题标题】:How do you sort fields which have numbers in a mathematical order如何按数学顺序对具有数字的字段进行排序
【发布时间】:2010-11-12 08:07:57
【问题描述】:

我们的数据库中存在以下用户..

create table users (id, name);

name [u1, u2, u3, u4, u5, u6, u7, u8, u9, u10, u11, ...]

如果上述字段按升序排序,则输出如下..

u1, u10, u11, u2, u3, u4 ...

是否可以按顶部的顺序对其进行排序(即列出所有个位数、两位数...)

【问题讨论】:

标签: mysql natural-sort


【解决方案1】:

试试:

SELECT *
FROM users
ORDER BY CAST(SUBSTR(name FROM 2) AS UNSIGNED)

【讨论】:

    【解决方案2】:

    你可以试试这个:

    SELECT name
    FROM users
    ORDER BY LENGTH(name), name
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-19
      • 2014-04-11
      • 1970-01-01
      • 2015-05-17
      • 2020-09-26
      • 1970-01-01
      相关资源
      最近更新 更多