gpt4 book ai didi

具有字母数字顺序的 MySQL 查询

转载 作者:行者123 更新时间:2023-11-29 04:27:19 24 4
gpt4 key购买 nike

我正在尝试获取一些产品型号的列表,所有型号都是字母数字。

我试过了

ORDER BY CAST(field_name AS UNSIGNED) 

ORDER BY field_name + 0

ORDER BY LENGTH(field_name)

以及其他一些方式。

它们适用于大多数,但有些值与顺序不匹配。

我得到的结果是这样的

EAG-75

EAG-110

...

ESCG-500

ESCG-600

...

EYG-40

EYG-55

...

EMG-440

EMG-20

EMG-27

...

EAG-100

...

我不明白是什么原因造成的。

请帮忙。

提前致谢

最佳答案

如果你想对每个非数字前缀进行正确的数字排序,你需要分别对 2 位进行排序

ORDER BY
-- sort by prefix only
LEFT(MyCol, INSTR(col, '-')-1),
-- sort numerically within prefix
CAST(SUBSTRING(MyCol, INSTR(col, '-')+1) AS UNSIGNED)

关于具有字母数字顺序的 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8989345/

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