【问题标题】:How to select columns as CSV in MySQL?如何在 MySQL 中选择列作为 CSV?
【发布时间】:2015-12-13 23:16:07
【问题描述】:

这是桌子

id    name
----------
1     john
2     dave
3     eve

select * from table会给我们

id    name
----------
1     john
2     dave
3     eve

您将如何查询以获得以下输出?

id       name
----------------------
1,2,3    john,dave,eve

【问题讨论】:

    标签: mysql sql database csv select


    【解决方案1】:

    您需要首先增加变量 group_concat_max_len 的值,这样 group_concat 中的数据就不会被截断。通过命令查看变量值:

    show variables like 'group_concat_max_len'
    

    并将其增加为:

    set global group_concat_max_len = 160000.
    

    在此使用查询之后:

    SELECT GROUP_CONCAT(id), GROUP_CONCAT(name) FROM   table_name
    

    【讨论】:

      【解决方案2】:

      你可以使用group_concat函数:

      SELECT GROUP_CONCAT(id), GROUP_CONCAT(name)
      FROM   mytable
      

      【讨论】:

        【解决方案3】:
        SELECT id, name, email INTO OUTFILE '/tmp/result.csv'
        FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
        ESCAPED BY ‘\\’
        LINES TERMINATED BY '\n'
        FROM users WHERE 1
        

        【讨论】:

        • @Mureinik 的解决方案很简单。不过谢谢!
        猜你喜欢
        • 1970-01-01
        • 2021-03-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-28
        • 1970-01-01
        相关资源
        最近更新 更多