mysql - 使用SQL统计数据

标签 mysql sql logparser

假设我有一个 .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/

相关文章:

sql-server - 从日志解析器中的 IIS 日志文件获取浏览器名称和版本

mysql - RMySQL - 自动从数据库表中读取数据

mysql - 多对一关系实现标签: How to count how many times a tag is used?

python - 如何替换为正则表达式命名组?

sql如何根据是否在列中找到字符串进行排序?

php - MySQL 从 IPBoard 帐户授权用户

email - 在电子邮件中发送解析的控制台输出

php - 无法从mysql解析utf-8数据到php

php - MySQL ORDER BY 另一个表中用户的总行数

mysql - SQL请求以查找是否完全覆盖了一个时间段