基本上,我在 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 个“小数点”,我无法将其以双精度、浮点等形式存储在表中,因此存储为 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
干杯!