基本上,我在MySQL表中記錄了我的軟件的更新歷史記錄。當我輸出這個數據時,我希望數據按軟件版本降序排序,即最先輸出最新版本的更新信息。排序MySQL表中的更新歷史
我使用以下查詢:
SELECT * FROM updates WHERE productId='$productId' ORDER BY version DESC
在以下試驗數據:
1.0.0
0.9.8
2.4.2
1.7.0
1.7.1
17.2.1
的輸出是:
2.4.2
17.2.1
1.7.1
1.7.0
1.0.0
0.9.8
由於2 '小數點' 的在數據中,我不能將它作爲double,float等存儲在表中,所以存儲爲varchar。
我試圖把ORDER BY version+0 DESC
查詢,它不移動17.2.1
到列表的頂部,但移動1.7.0
的1.7.1
因爲當它到達第二小數點鑄造突破了,所以只是輸出數據表的順序。
如何對數據進行排序的任何建議,以便它會出來爲:
17.2.1
2.4.2
1.7.1
1.7.0
1.0.0
0.9.8
乾杯!
爲什麼不說柱打入3場?訂購記錄更容易。 –
這個怎麼樣:http://injustfiveminutes.wordpress.com/2012/10/17/split-function-in-mysql/ –