首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用mysql中的2集编号对行进行排序

用mysql中的2集编号对行进行排序
EN

Stack Overflow用户
提问于 2015-02-09 04:02:14
回答 2查看 63关注 0票数 0

我有一张桌子是这样的,但问题是,每当我试图根据它们从最低到最高的插集数来排序时,我就会得到不同的结果。

代码语言:javascript
复制
id   |    episode
1    (Title) Episode 1
2    (Title) Episode 4    
3    (Title) Episode 2    
4    (Title) Episode 5-6    
5    (Title) Episode 13   
6    (Title) Episode 3    
7    (Title) Episode 8-9    
8    (Title) Episode 7    
9    (Title) Episode 11-12    
10   (Title) Episode 10 

我试过用这句话ORDER BY LENGTH(**table**.episode),**table**.episode来命令这一集。这是很好的工作,但如果剧集标题包含更多的插集编号,如EP5-6Episode 8-9Episode 11-12,则此行将被移至底部。

这是我得到的结果

代码语言:javascript
复制
id   |    episode
1    (Title) Episode 1
2    (Title) Episode 2    
3    (Title) Episode 3           
4    (Title) Episode 4   
5    (Title) Episode 7  
6    (Title) Episode 10  
7    (Title) Episode 13
8    (Title) Episode 5-6     
9    (Title) Episode 8-9   
10   (Title) Episode 11-12    
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-09 04:29:47

这样可以做到:

代码语言:javascript
复制
SELECT *
FROM test2
ORDER BY cast( substring_index( substring_index( title, ' ', -1 ) , '-', 1 ) AS decimal )
票数 0
EN

Stack Overflow用户

发布于 2015-02-09 04:10:00

什么是(EpisodeNumber)的数据类型,我相信它是varchar。不建议按varchar进行排序,我将使用DataType int创建一个新列并按其进行排序。我不确定这是否是你想要的解决方案.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28402638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档