我会举个例子:
date - entries
03/05/2017 - 10
03/06/2017 - 5
03/07/2017 - 5
03/08/2017 - 10
我希望结果为30
我想使用php和mysql添加第一个和最后一个日期范围内所有条目的所有条目,但我不知道如何。有人可以帮助我吗?
答案 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
格式的文本。因此,我们需要先将其转换为日期类型,以便将其与其他日期进行比较。
通常,您应该尽量避免将日期信息存储为文本,因为这会使您难以在数据库中处理此类数据。而是使用日期类型来存储此信息(date
,datetime
,timestamp
)。