gpt4 book ai didi

sql - 在 mysql 中查找最后一个字母数字值

转载 作者:行者123 更新时间:2023-11-29 01:00:38 26 4
gpt4 key购买 nike

我在 mysql 数据库中有一个包含用户名的字段例如:

johndoe2
johndoe10
johndoe3

如果我按那个字段 DESC 排序,我得到:

johndoe3
johndoe2
johndoe10

我需要得到:

johndoe10
johndoe3
johndoe2

感谢任何帮助

最佳答案

这是一个巨大的 hack,但我认为会奏效。如果你的列名是 s:

order by 
(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(s, '0', ''), '1', ''), '2', ''), '3', ''), '4', ''), '5', ''), '6', ''), '7', ''), '8', ''), '9', ''),
length(s) desc,
s desc

首先按文本的字母部分排序,将所有相同的名字放在一起,然后按长度粗略地按数字排序,然后按 s。最后一个 order by s 现在可以正常工作了,因为它仅用于消除具有相同位数的相同名称之间的歧义。

关于sql - 在 mysql 中查找最后一个字母数字值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3542273/

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