mysql字符数字组合进行排序分析

虾米哥 阅读:155 2021-09-06 11:57:32 评论:0
本文章主要介绍了mysql字符数字组合进行排序,具有不错的的参考价值,希望对您有所帮助,如解说有误或未考虑完全的地方,请您留言指出,谢谢!

需求:

有张课程表,等级,课程,页码是一个字符串,例如:L1-L10-P3,直接order by达不到想要的效果,如实写出如下sql语句。

SELECT 
SUBSTRING(ld.page_no , 2 , 1) , 
SUBSTRING_INDEX( 
    SUBSTRING_INDEX(ld.page_no , "-l" ,- 1) , 
    "-p" , 
    1 
    ) , 
SUBSTRING_INDEX( 
    SUBSTRING_INDEX(ld.page_no , "-p" ,- 1) , 
    "-p" , 
    1 
    ) , 
ld.* 
FROM 
lesson_data ld 
ORDER BY 
CAST( 
    SUBSTRING(ld.page_no , 2 , 1) AS DECIMAL 
    ) ASC , 
CAST( 
    SUBSTRING_INDEX( 
        SUBSTRING_INDEX(ld.page_no , "-l" ,- 1) , 
        "-p" , 
        1 
        ) AS DECIMAL 
    ) ASC , 
CAST( 
    SUBSTRING_INDEX( 
        SUBSTRING_INDEX(ld.page_no , "-p" ,- 1) , 
        "-p" , 
        1 
        ) AS DECIMAL 
    ) ASC; 

最后效果,注意看page_no那一行:

这里写图片描述


标签:mysql
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
KIKK导航

KIKK导航

排行榜
关注我们

一个IT知识分享的公众号