MYSQL排序数组

MYSQL排序数组,mysql,arrays,Mysql,Arrays,这是我的结果 +----------------------------------------------------------------------------------------------------------------------------------------------+ | SUBSTRING(COLUMN_TYPE,5)

这是我的结果

+----------------------------------------------------------------------------------------------------------------------------------------------+
| SUBSTRING(COLUMN_TYPE,5)                                                                                                                     |
+----------------------------------------------------------------------------------------------------------------------------------------------+
| ('Sedan','Hatch','Convertable','Van','Coupe','Light Truck','People Mover','SUV','Ute','Wagon','Cab Chassis','Sample Body','Body 4','BOdy 5') |
+----------------------------------------------------------------------------------------------------------------------------------------------+
这是我的问题

SELECT SUBSTRING(COLUMN_TYPE,5) FROM information_schema.COLUMNS  WHERE TABLE_SCHEMA=DATABASE()  AND TABLE_NAME='Ad_tbl'  AND COLUMN_NAME='body_type'

我希望数组以另一种方式排序。。因此,轿车将位于阵列的最后一个而不是第一个。。已尝试按ASC或DESC排序,但没有成功

您正在查询
枚举定义中的项目列表,是否要更改顺序?如果不使用
altertable
更改
ENUM
,则无法执行此操作

枚举中项目的顺序与值的物理存储有关。”Sedan'是1,'Hatch'是2,'Convertable'(sic)是3,等等。更改这些字符串的顺序需要更改枚举值

当然,您可以更改应用程序代码中字符串的显示顺序。但这意味着从列表中解析出项目,用逗号分隔,删除引号和括号,等等

但是,在纯SQL中进行类似的文本解析将是一个令人沮丧的练习,或者至少是一个巨大的时间浪费

获取
ENUM
定义中的项的这种尴尬是原因之一

如果要在不重新定义表的情况下控制排序顺序,
最好使用查找表而不是枚举

ORDER BY
COLUMN\u TYPE
DESC。使用DESC而不是ASC将以另一种方式对其排序。我更新了查询,实际上ORDER BY不生效,无论我将其设置为ASC还是DESC查看[ORDER BY FIELD][ORDER BY不起作用您提供的结果似乎不是您的查询结果..您的子字符串为5,结果似乎是一个组。\u concat..???确定在这一条上注明