2015-09-17 26 views
0

下面是表如何在MySQL中將列選擇爲CSV?

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 

回答

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 
1
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 
+1

@ Mureinik的解決方案工作簡單。雖然謝謝! – nehemiah

3

您可以使用group_concat功能:

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