基本的に、ソフトウェアの更新履歴を 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
移動するクエリを入れてみましたが、小数点以下第2位に達するとキャストが壊れるため、上に移動し、テーブルの順序でデータを出力するだけです。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
乾杯!