[英]Wrong csv format when exporting sql query result
CSV Format ScreenShot In table1, there are three columns: COMPANY, AMOUNT and Vendor. CSV格式的ScreenShot在表1中,有三列:COMPANY,AMOUNT和Vendor。 And after the query, we will get a table with 6 columns: VENDOR, A, B, C, D, Total.
查询后,我们将获得一个包含6列的表格:VENDOR,A,B,C,D,总计。
SELECT 'VENDOR','A','B','C','D','Total'
UNION ALL
SELECT
VENDOR,
SUM(CASE
WHEN COMPANY = 'A' THEN AMOUNT
ELSE ''
END) AS A,
SUM(CASE
WHEN COMPANY = 'B' THEN AMOUNT
ELSE ''
END) AS B,
SUM(CASE
WHEN COMPANY = 'C' THEN AMOUNT
ELSE ''
END) AS C,
SUM(CASE
WHEN COMPANY = 'D' THEN AMOUNT
ELSE ''
END) AS D,
SUM(AMOUNT) AS Grand_Total
INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/result.csv'
FROM
table1
GROUP BY VENDOR_NAME;
The problem is: when I tried to export the query result into a new csv file result, I found the content in csv file really messy... And in my result.csv: the first line is VENDORABCDTotal and the second line is Mike12340001234. 问题是:当我尝试将查询结果导出到新的csv文件结果中时,我发现csv文件中的内容确实很乱...而且在我的result.csv中:第一行是VENDORABCDTotal,第二行是Mike12340001234。 All fields and data are in the first column in csv file.
所有字段和数据都在csv文件的第一列中。
You need to terminated each field by comma and each row by a new line character : Please export data using below command: 您需要用逗号终止每个字段,并用换行符终止每一行:请使用以下命令导出数据:
SELECT 'VENDOR','A','B','C','D','Total'
UNION ALL
SELECT
VENDOR,
SUM(CASE
WHEN COMPANY = 'A' THEN AMOUNT
ELSE ''
END) AS A,
SUM(CASE
WHEN COMPANY = 'B' THEN AMOUNT
ELSE ''
END) AS B,
SUM(CASE
WHEN COMPANY = 'C' THEN AMOUNT
ELSE ''
END) AS C,
SUM(CASE
WHEN COMPANY = 'D' THEN AMOUNT
ELSE ''
END) AS D,
SUM(AMOUNT) AS Grand_Total
INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/result.csv'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'
FROM
table1
GROUP BY VENDOR_NAME;
Check this ! 检查一下!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.