CSV 导出与 SQL 输出具有不同的值
CSV export has different values to SQL output
在 mariadb 安装的 phpmyadmin 中,我有一个 SQL 语句
SELECT `datepaid`, SUM(`total`) FROM `tblinvoices` WHERE `status` = "paid" AND `total` > 0 GROUP BY YEAR(datepaid)*100 + MONTH(datepaid) ORDER BY `datepaid` ASC
输出符合预期,我得到了按月分组、按月排序的总计列表。最后 5 行如下所示:
2020-06-09 13:01:31 4485.56
2020-07-07 12:36:25 4519.69
2020-08-03 13:02:29 3685.26
2020-09-26 05:49:25 4371.98
2020-10-10 16:47:32 5135.75
在所有行列表的底部,我选中所有,然后单击导出(在结果下方,而不是在顶部菜单中)。
在生成的 CSV 中,最后 5 行是
"2020-06-09 13:01:31","29.00"
"2020-07-07 12:36:25","130.50"
"2020-08-03 13:02:29","99.00"
"2020-09-26 05:49:25","385.00"
"2020-10-10 16:47:32","46.20"
看起来输出包含组中的行之一,而不是组总数。
我是不是做错了什么(很可能)或者这是某种错误?
[更新]
根据来自@nbk 的信息,我找到了一个解决方案并学到了一些东西,INTO 命令
`INSERT INTO `another_table` SELECT `datepaid`, SUM(`total`) FROM `tblinvoices` WHERE `status` = "paid" AND `total` > 0 GROUP BY YEAR(datepaid)*100 + MONTH(datepaid) ORDER BY `datepaid` ASC
您可以使用INTO OUTFILE
喜欢
SELECT
`datepaid`, SUM(`total`)
FROM
`tblinvoices`
WHERE
`status` = 'paid' AND `total` > 0
GROUP BY YEAR(datepaid) * 100 + MONTH(datepaid)
ORDER BY `datepaid` ASC
INTO OUTFILE 'C:/tmp/cancelled_orders.csv'
FIELDS ENCLOSED BY '"'
TERMINATED BY ';'
ESCAPED BY '"'
LINES TERMINATED BY '\r\n';
根据系统配置,您必须检查文件夹
在 mariadb 安装的 phpmyadmin 中,我有一个 SQL 语句
SELECT `datepaid`, SUM(`total`) FROM `tblinvoices` WHERE `status` = "paid" AND `total` > 0 GROUP BY YEAR(datepaid)*100 + MONTH(datepaid) ORDER BY `datepaid` ASC
输出符合预期,我得到了按月分组、按月排序的总计列表。最后 5 行如下所示:
2020-06-09 13:01:31 4485.56
2020-07-07 12:36:25 4519.69
2020-08-03 13:02:29 3685.26
2020-09-26 05:49:25 4371.98
2020-10-10 16:47:32 5135.75
在所有行列表的底部,我选中所有,然后单击导出(在结果下方,而不是在顶部菜单中)。
在生成的 CSV 中,最后 5 行是
"2020-06-09 13:01:31","29.00"
"2020-07-07 12:36:25","130.50"
"2020-08-03 13:02:29","99.00"
"2020-09-26 05:49:25","385.00"
"2020-10-10 16:47:32","46.20"
看起来输出包含组中的行之一,而不是组总数。
我是不是做错了什么(很可能)或者这是某种错误?
[更新]
根据来自@nbk 的信息,我找到了一个解决方案并学到了一些东西,INTO 命令
`INSERT INTO `another_table` SELECT `datepaid`, SUM(`total`) FROM `tblinvoices` WHERE `status` = "paid" AND `total` > 0 GROUP BY YEAR(datepaid)*100 + MONTH(datepaid) ORDER BY `datepaid` ASC
您可以使用INTO OUTFILE
喜欢
SELECT
`datepaid`, SUM(`total`)
FROM
`tblinvoices`
WHERE
`status` = 'paid' AND `total` > 0
GROUP BY YEAR(datepaid) * 100 + MONTH(datepaid)
ORDER BY `datepaid` ASC
INTO OUTFILE 'C:/tmp/cancelled_orders.csv'
FIELDS ENCLOSED BY '"'
TERMINATED BY ';'
ESCAPED BY '"'
LINES TERMINATED BY '\r\n';
根据系统配置,您必须检查文件夹