【问题标题】:mysql get result by colum name in alphabetical order [duplicate]mysql按字母顺序按列名获取结果[重复]
【发布时间】:2013-12-13 17:52:16
【问题描述】:

我继承了一张大表,其中有很多不按字母顺序排列的列。

它是这样的:

---------------------------------
| g | c | e | d | f | h | a | b |
---------------------------------
| x | x | x | x | x | x | x | x |
---------------------------------

这里x是字段值:

我需要帮助来弄清楚如何返回这个:

---------------------------------
| a | b | c | d | e | f | g | h |
---------------------------------
| x | x | x | x | x | x | x | x |
--------------------------------- 

使用选择。 由于我无法控制的原因,我无法更改主表。

提前致谢。

【问题讨论】:

  • 为什么要关心列是否按字母顺序排列?
  • 这个问题毫无意义。您可以选择要选择的列,以便按您想要的任何顺序选择它们:select a, b, c from table
  • 如果 information_schema 没有帮助你,你为什么不能在软件中订购你的列?
  • 我有 550 列,所以我不想输入这个所以我最终做的是:从信息模式中按顺序选择所有 column_name。然后我复制了所有列名并将它们粘贴到一个 select 语句中。

标签: mysql sql select


【解决方案1】:

Mysql 会按照 select 语句的顺序返回列,所以只需

SELECT a,b,c,d,e,f,g,h
FROM table

【讨论】:

    【解决方案2】:

    也许创建具有所需顺序的视图

        create view test.v as select a,b,c,d,e from table;
        select * from test.v;
    

    【讨论】:

      猜你喜欢
      • 2011-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多