gpt4 book ai didi

php - MYSQL 自然排序不符合预期

转载 作者:行者123 更新时间:2023-11-29 06:23:54 26 4
gpt4 key购买 nike

自然排序在查询中的表现不符合预期。我不明白为什么。看过这个网站http://www.copterlabs.com/blog/natural-sorting-in-mysql/ ,该方法在大多数情况下都有效。然而,“代码”的 alpha 部分意味着排序以一种奇怪的方式发生。

结果

M1
..
M3
P1
..
P3
M10
..
M19
P10
..
P19

预期

M1
..
M3
M10
..
M19
P1
..
P3
P10
..
P19

代码

'SELECT * FROM stock ORDER BY LENGTH(code), code';

最佳答案

您首先按字段的长度排序。当然,这会以错误的方式混合结果。尝试拆分字母数字值和数字

SELECT * FROM stock 
ORDER BY substr(code, 1, 1),
substr(code, 2, 99) * 1

*1 将字符串转换为数字。您还可以使用 cast(substr(code, 2, 99) as signed)

关于php - MYSQL 自然排序不符合预期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32096964/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com