假设我有一个 .csv 文件,其中包含描述产品销售的数据。现在假设我想要每月销售数量的明细。我的意思是,我想查看 2005 年 1 月、2005 年 2 月...2008 年 1 月、2008 年 2 月...2012 年 11 月、2012 年 12 月收到了多少订单。
现在我能想到的一个非常简单的方法就是像这样将它们一一数起来。 (顺便说一句,我正在使用 logparser 来运行我的查询)
logparser -i:csv -o:csv "SELECT COUNT(*) AS NumberOfSales INTO 'C:\Users\blah.csv' FROM 'C:\User\whatever.csv' WHERE OrderReceiveddate LIKE '%JAN2005%'
我的问题是是否有更聪明的方法来做到这一点。我的意思是,我可以编写一个查询来一次在一个 Excel 中生成结果,而不是一次又一次地更改月份并运行查询。
最佳答案
是的。
如果在语句中添加 group by 子句,则 SQL 将为 group by 列的每个唯一值返回单独的计数。
所以如果你写:
SELECT OrderReceiveddate, COUNT(*) AS NumberOfSales INTO 'C:\Users\blah.csv'
FROM `'C:\User\whatever.csv' GROUP BY OrderReceiveddate`
您将得到如下结果:
2005 年 1 月 12 日
2005 年 2 月 19 日
2005 年 3 月 21 日
关于mysql - 使用SQL统计数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24125929/