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字符数字组合进行排序_mysql


举报

相关推荐

0 条评论