SQL总和一列随时间段按其他列分组

时间:2017-09-05 08:19:11

标签: 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)。但是我希望每天在特定的时间范围内得到这个。

1 个答案:

答案 0 :(得分:2)

您可以将TimeStamp格式化为日期,然后GROUP BY将其格式化为:

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

Documentation for DATE function