如何在MySQL中选择列为CSV?

时间:2015-09-17 07:03:40

标签: mysql sql database csv select

这是表格

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

3 个答案:

答案 0 :(得分:4)

您可以使用group_concat功能:

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

答案 1 :(得分: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

答案 2 :(得分:3)

您需要先增加变量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