【问题标题】:SQL sum one column over time period grouped by other columnSQL在按另一列分组的时间段内对一列求和
【发布时间】:2017-09-05 08:19:11
【问题描述】:

我有一天中不同时间的购买记录。假设每件商品在收据上售出 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)。但我想在每天的特定时间范围内得到这个。

【问题讨论】:

    标签: mysql database mariadb


    【解决方案1】:

    您可以将您的时间戳格式化为日期,然后GROUP BY 它,类似于:

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

    Documentation for DATE function

    【讨论】:

    • 'Date' 是一个常量字符串;不要GROUP BY那个。相反,使用 backtics。 (我编辑了它。)
    猜你喜欢
    • 2018-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-20
    • 2021-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多