1

我在mysql中有这张表

Date one   | Date tow   | 
2012-05-20 | 2012-05-04 | = 16 days 
2012-05-12 | 2012-05-08 | = 4 days
                          = 20 days

我想选择两个日期之间的差异,然后将所有天数相加。

4

4 回答 4

2

如果您应该在 MySQL 中执行此操作,则可以使用 DATEDIFF 函数。

SELECT DATEDIFF(dateone, datetwo) AS d FROM tablename

然后你可以按照你想要的方式聚合这个结果,例如

SELECT SUM(DATEDIFF(dateone, datetwo)) AS s FROM tablename

获取日期后,您也可以在 PHP 中执行此操作

于 2013-07-11T07:48:39.797 回答
0
SELECT SUM(DATEDIFF(`Date one`, `Date tow`)) FROM `Table`

DATEDIFF()SUM()

请注意,在 MySQL 中,您无需GROUP BY使用聚合函数即可使用SUM()。在这种情况下,MySQL 会将所有行视为一个组。

于 2013-07-11T07:45:41.563 回答
0

您可以尝试以下查询。希望它能解决这个问题。

SELECT SUM(DATEDIFF(DATE1,DATE2)), FROM TABLE 
于 2013-07-11T07:46:04.877 回答
0

您可以DATEDIFF在mysql中使用该功能。

SET @runtot:=0;
SELECT DATEDIFF(one,tow) AS diff, (@runtot := @runtot + DATEDIFF(one,tow)) AS runningsum
FROM table 
于 2013-07-11T07:47:28.067 回答