2014-09-27 28 views
0

我有一個類似這樣的表格,我的目標是根據情節編號返回結果。我已經完成了ORDER BY episode_number,它給出了不同的結果。整理表格

id |  episode_number 

1   50 
2   52 
3   51 
4   53-54 
5   57-58 
6   55-56 

慾望結果:

id |  episode_number 

1   50 
2   51 
3   52 
4   53-54 
5   55-56 
6   57-58 
+0

'order by episode_number'應該產生你想要的這個數據的結果。 – 2014-09-27 16:23:53

+0

不,我得到1 10 100 1000等...... – 2014-09-27 16:26:07

+0

您的'id'列值與所需結果塊中的episode_number值不匹配(與第一個表相比)。 – Im0rtality 2014-09-27 16:31:46

回答

1

您的問題是要排序的字符串,但你想要的排序號。 MySQL有一個非常好的功能,即通過使用前導數字將字符串轉換爲數字上下文中的數字。這應該做你想做的:

order by (episode_number + 0) 
+0

這樣可以很好地工作,但是如何處理雙集插曲的情節數量是45-46或66-67 – 2014-09-27 16:52:55

+0

不要緊,你的代碼工作的很棒! – 2014-09-27 16:56:14