MySQL订单z1然后是aa1
我有一个字段,它存储属性04202011a1到04202011z1的列表号,然后它转到04202011aa1到04202011zz1,依此类推,我如何获得自04202011以来的下一个数字或字母组合,它是添加的日期,最后一个1是用户ID唯一增加的部分是字母 我可以将id分成几部分,但不确定如何获取最后一个 谢谢MySQL订单z1然后是aa1,mysql,Mysql,我有一个字段,它存储属性04202011a1到04202011z1的列表号,然后它转到04202011aa1到04202011zz1,依此类推,我如何获得自04202011以来的下一个数字或字母组合,它是添加的日期,最后一个1是用户ID唯一增加的部分是字母 我可以将id分成几部分,但不确定如何获取最后一个 谢谢 CG在您设法取出非数字部分(或按照Mikko Wilkman的建议将其存储在单独的字段中)并希望z出现在aa之前后,您可以使用: SELECT non_numeric_id FROM t
CG在您设法取出非数字部分(或按照Mikko Wilkman的建议将其存储在单独的字段中)并希望
z
出现在aa
之前后,您可以使用:
SELECT non_numeric_id FROM table
ORDER BY length(non_numeric_id), non_numeric_id
编辑
好的,要提取非数字id,假设列名是id
,您可以使用这个相当难看的解决方案:
SELECT
id,
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
id,
'1',''),'2',''),'3',''),'4',''),'5',''),'6',''),'7',''),'8',''),'9',''),'0','')
AS clean_id
FROM table
ORDER BY length(clean_id), clean_id
其思想是先删除所有数字,然后按长度排序,然后按字母顺序排序。下一个顺序是什么
04202011AA1
至04202011ZZ1
或04202011b1
至04202011z1
请澄清您的问题,为什么不将其存储为单独的字段?顺序是先使用一个字母(a到z),然后增加为两个字母(aa到zz),然后是3、4、5,依此类推,这取决于每天提交的数量。我在考虑separte字段Mikko如果我有04202011a1到04202011z1,那么04202011aa1到04202011zz1,我想先从mysql订购一个字母,然后是带2个字母的,然后是3个,依此类推