如何在MySQL中对具有数字值的列进行排序

时间:2019-04-02 04:54:44

标签: mysql

在我的表格列之一中,我的值如下:

"fol v1.1.2",
"fol v1.2.10",
"fol v1.5.6",
"all fols",
"fol v1.7.10 updated 22.03.2019",
"fol v1.10.11"

订购后,我需要像这样的值:

"all fols",
"fol v1.1.2",
"fol v1.2.10",
"fol v1.5.6",
"fol v1.7.10 updated 22.03.2019",
"fol v1.10.11"

1 个答案:

答案 0 :(得分:3)

select * from trial order by substring_index(dat,'.',1),cast(substring_index(substring_index(dat,'.',2),'.',-1) as signed),cast(substring_index(substring_index(dat,'.',3),'.',-1) as signed);

我所做的是,用'。'分隔版本。作为定界符,然后转换为整数,然后根据值对它们进行分组。

有关拆分的更多信息,请参阅此w3resource-mysql-substring