php - sql排序数字然后按字母顺序

标签 php sql mysql natural-sort

在这个例子中:

10-20
20-40
50-60

v
k
r
a

12 month
1 month

我怎样才能按这个顺序排序?:

10-20
20-40
50-60

a
k
r
v

1 month
12 month

我使用 abs(value) 但在字母大小写中不起作用

最佳答案

如果您可以在 PHP 中进行一些处理,则可以使用 natsort :

Standard sorting
Array
(
    [3] => img1.png
    [1] => img10.png
    [0] => img12.png
    [2] => img2.png
)

Natural order sorting
Array
(
    [3] => img1.png
    [2] => img2.png
    [1] => img10.png
    [0] => img12.png
)

否则,SO 上还有另一个问题会问同样的问题:Natural Sort in MySQL

关于php - sql排序数字然后按字母顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3877182/

相关文章:

php - 在 PHP 中将所有 HTML 特殊字符转换为 UTF-8?

php - 需要 SSL PHP api Codeigniter

php - 带有 PHP 按钮的两个 Shell_Exec 命令,但仍在一个 powershell 中?

mysql - 如何将 SQL 数据与 OR 条件混合

sql将2行合并为1行

MySQL SELECT all 除了两列有特定数据的地方

android - Android App可以直接连接到在线mysql数据库吗

php - 使用 javascript 和 PHP 生成相同的 MD5

MySQL数据库设计用户评分

MySQL 查询 : How can I find top 5 images in each brand ?