我在mysql中有这张表
Date one | Date tow |
2012-05-20 | 2012-05-04 | = 16 days
2012-05-12 | 2012-05-08 | = 4 days
= 20 days
我想选择两个日期之间的差异,然后将所有天数相加。
如果您应该在 MySQL 中执行此操作,则可以使用 DATEDIFF 函数。
SELECT DATEDIFF(dateone, datetwo) AS d FROM tablename
然后你可以按照你想要的方式聚合这个结果,例如
SELECT SUM(DATEDIFF(dateone, datetwo)) AS s FROM tablename
获取日期后,您也可以在 PHP 中执行此操作
SELECT SUM(DATEDIFF(`Date one`, `Date tow`)) FROM `Table`
请注意,在 MySQL 中,您无需GROUP BY
使用聚合函数即可使用SUM()
。在这种情况下,MySQL 会将所有行视为一个组。
您可以尝试以下查询。希望它能解决这个问题。
SELECT SUM(DATEDIFF(DATE1,DATE2)), FROM TABLE
您可以DATEDIFF
在mysql中使用该功能。
SET @runtot:=0;
SELECT DATEDIFF(one,tow) AS diff, (@runtot := @runtot + DATEDIFF(one,tow)) AS runningsum
FROM table