更新
我有一张有索引的表,按顺序排列:
fsym_id, currency, x, y, z,按顺序排列的列
currency, fsym_id, x, y, z我想按正确的顺序提取索引的名称。
我试着做以下几件事:
set session group_concat_max_len = 1000000;
select GROUP_CONCAT(CONCAT("'",COLUMN_NAME,"'"))
from INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'table'
AND TABLE_SCHEMA = 'schema'
ORDER BY ORDINAL_POSITION但这给了我列的顺序。如何修改它以返回索引的顺序?
发布于 2018-11-21 20:37:48
如果要对GROUP_CONCAT()中的值进行排序,则必须在该函数中放置ORDER BY选项。ORDER BY子句用于对行进行排序;因为您只返回一行,所以没有任何效果。
而且,没有必要在CONCAT()内部使用GROUP_CONCAT()。如果给出多个值,它们就会自动连接起来。
select GROUP_CONCAT("'",COLUMN_NAME,"'" ORDER BY ORDINAL_POSITION)
from INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'table'
AND TABLE_SCHEMA = 'schema'https://stackoverflow.com/questions/53419673
复制相似问题