在mysql

时间:2018-02-20 17:02:11

标签: mysql

我有一个包含三个字段的表:“Id,Name,Sequence” 在“序列”列中,有以下条目:1,2,3,4,2a,5,2b,2c,3,4a(行方式)。

现在我想要一个mysql查询,可以对这些值进行排序,如:

1,2,2a,2b,2c,3,4,4a,5。

我尝试过以下查询

SELECT * FROM table_name ORDER BY CAST(sequence AS UNSIGNED) ASC
但它不起作用。

1 个答案:

答案 0 :(得分:1)

您希望先按整数排序,然后按数字后的子字符串排序,只需按整个字符串排序作为子排序:

SELECT * FROM table_name ORDER BY CAST(sequence AS UNSIGNED), sequence;

这是一个SQL Fiddle的示例。我离开了ASC,因为这是默认设置。