使用php mysql中两个日期的范围获取总数

时间:2017-03-05 12:51:26

标签: php mysql

我会举个例子:

date - entries
03/05/2017 - 10
03/06/2017 - 5
03/07/2017 - 5
03/08/2017 - 10

我希望结果为30

我想使用php和mysql添加第一个和最后一个日期范围内所有条目的所有条目,但我不知道如何。有人可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

如果您向我们展示的示例确实代表所有表中的记录,那么以下内容应该有效:

SELECT SUM(entries) AS the_sum
FROM yourTable

如果有更多数据,但只想在某个日期范围内求和,那么您可以使用WHERE子句限制总和:

SELECT SUM(entries) AS the_sum
FROM yourTable
WHERE STR_TO_DATE(date, '%m/%d/%Y') BETWEEN '2017-03-05' AND '2017-03-08'

请注意,在第二个查询中,我不得不使用STR_TO_DATE(),因为您似乎将日期存储为03/05/2017格式的文本。因此,我们需要先将其转换为日期类型,以便将其与其他日期进行比较。

通常,您应该尽量避免将日期信息存储为文本,因为这会使您难以在数据库中处理此类数据。而是使用日期类型来存储此信息(datedatetimetimestamp)。