我有一個類似這樣的表格,我的目標是根據情節編號返回結果。我已經完成了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
我有一個類似這樣的表格,我的目標是根據情節編號返回結果。我已經完成了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
您的問題是要排序的字符串,但你想要的排序號。 MySQL有一個非常好的功能,即通過使用前導數字將字符串轉換爲數字上下文中的數字。這應該做你想做的:
order by (episode_number + 0)
這樣可以很好地工作,但是如何處理雙集插曲的情節數量是45-46或66-67 – 2014-09-27 16:52:55
不要緊,你的代碼工作的很棒! – 2014-09-27 16:56:14
'order by episode_number'應該產生你想要的這個數據的結果。 – 2014-09-27 16:23:53
不,我得到1 10 100 1000等...... – 2014-09-27 16:26:07
您的'id'列值與所需結果塊中的episode_number值不匹配(與第一個表相比)。 – Im0rtality 2014-09-27 16:31:46