gpt4 book ai didi

mysql - 按ordinal_position 排序未产生预期输出

转载 作者:行者123 更新时间:2023-11-29 09:58:39 31 4
gpt4 key购买 nike

更新

我有一个按顺序排列索引的表:

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

但这给了我列的顺序。如何修改它以返回索引的顺序?

最佳答案

如果您想对 GROUP_CONCAT() 中的值进行排序,则必须在该函数中添加 ORDER BY 选项。您的 ORDER BY 子句用于对行进行排序;由于您只返回一行,因此没有任何效果。

此外,不必在 GROUP_CONCAT() 内使用 CONCAT()。如果您提供多个值,它们会自动连接。

select GROUP_CONCAT("'",COLUMN_NAME,"'" ORDER BY ORDINAL_POSITION)
from INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'table'
AND TABLE_SCHEMA = 'schema'

关于mysql - 按ordinal_position 排序未产生预期输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53419673/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com