【发布时间】:2022-01-21 02:30:45
【问题描述】:
我有像下面这样的 Linux 内核版本,想把这个值从内核版本最旧到最新排序。
4.18.0-348.7.1.el8_5.x86_64
4.18.0-358.el8.x86_64
4.18.0-305.19.1.el8_4.x86_64
4.18.0-348.12.2.el8_5.x86_64
4.18.0-348.7.1.el8_5.x86_64
使用此查询,它不按内核版本排序。我希望这一行 4.18.0-348.12.2.el8_5.x86_64 应该在最后一行之上。
select kernel, REGEXP_REPLACE(kernel,'\\.|-|el.*$','') as k from os group by kernel order by 1;
4.18.0-305.19.1.el8_4.x86_64,4180305191
4.18.0-338.el8.x86_64,4180338
4.18.0-348.12.2.el8_5.x86_64,4180348122
4.18.0-348.2.1.el8_5.x86_64,418034821
4.18.0-348.7.1.el8_5.x86_64,418034871
4.18.0-358.el8.x86_64,4180358
如何让这个sql查询按内核版本排序?
【问题讨论】:
-
在
4.18.0-348.2.1之前你对4.18.0-348.12.2有什么期望? -
@TimBiegeleisen
4.18.0-348.12.21应该在4.18.0-348.2.1之后