mysql - SQL 对按其他列分组的时间段内的一列求和

标签 mysql database mariadb

我有一天中不同时间的购买记录。假设每件商品在收据上售出 x 次。我想对每天每个型号的所有售出量求和,以获得每个型号的总数。

一些示例数据:

Name      Count Timestamp
----      ----- ----------
Car1        2   2016-05-21 10:23
Car2        1   2016-05-21 11:30
Car1        2   2016-05-21 15:40
Car3        4   2016-08-12 12:03
Car1        2   2016-08-12 14:45
Car3        4   2016-08-12 17:03

我想从这些数据中得到的结果是每辆车每天售出多少。

Name      Count Timestamp
----      ----- ----------
Car1        4   2016-05-21
Car2        1   2016-05-21
Car3        8   2016-08-12
Car1        2   2016-08-12

到目前为止,我只设法计算了每个模型的总和(使用 SUM(Count) 和 GROUP BY Name)。但我想在特定的时间范围内获取此信息,每天。

最佳答案

您可以将时间戳格式化为日期,然后对其进行GROUP BY,例如:

SELECT NAME, SUM(Count), DATE(Timestamp) AS 'Date'
  FROM table
 GROUP BY NAME, `Date`

Documentation for DATE function

关于mysql - SQL 对按其他列分组的时间段内的一列求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46050152/

相关文章:

mysql - Mysql根据条件INSERT INTO

mysql - 基于列值的限制(不是行数)

php - JQGrid:通过post获取JQGrid中的多个选中行值

database - Tdbf/tdataset在delphi中对多个字段进行排序

php - 使用 laravel 5 在表上创建一个新的字符串列

mysql - 从 Mariadb 中的动态列字段中提取嵌套对象

php - 如何在mysql中搜索base64编码的字符串?

php - 一些代码工作正常,有时在 mysql 语句中出现 fatal error

ruby-on-rails - 将经纬度数据存入数据库,查询附近记录

mysql - 检查子查询是否为 NULL