计算MySQL中两个日期条目之间的差异

时间:2015-11-02 07:20:11

标签: mysql datetime

我试图计算存储在MYSQL中的日期之间的天数,同时考虑不同记录中的不同日期范围。

以下是一个示例表:

$scope.restorePosts = (function() {
      return function() {
          $scope.spliced_posts.forEach(function(x) {
          return $scope.posts.push(x);
        });
        return $scope.spliced_posts = [];
      };
    });

预期结果: 由于tableID 1和3连续几天的结果应为 11 。 我不善于解释事情,所以如果你没有得到问题,请在下面评论。

1 个答案:

答案 0 :(得分:0)

我可能首先将所有内容复制到临时表,然后移动不履行end_date = start_date +1的记录,然后运行其余记录,更新它们以便start_date和end_date为所有序列都在同一记录中

这样的事情:

<强> Temp_table_1

tableID   User     Start_Date   End_Date
-------   ----    ----------   ----------
   1      111     2015-09-09   2015-09-15
   2      111     2015-09-01   2015-09-02
   3      111     2015-09-16   2015-09-21
   4      111     2015-08-16   2015-08-21
   5      111     2015-07-16   2015-07-21

将非连续记录移至temp_2

<强> Temp_table_1

tableID   User     Start_Date   End_Date
-------   ----    ----------   ----------
   1      111     2015-09-09   2015-09-15
   3      111     2015-09-16   2015-09-21

<强> Temp_table_2

tableID   User     Start_Date   End_Date
-------   ----    ----------   ----------
   2      111     2015-09-01   2015-09-02
   4      111     2015-08-16   2015-08-21
   5      111     2015-07-16   2015-07-21

合并记录

<强> Temp_table_1

tableID   User     Start_Date   End_Date
-------   ----    ----------   ----------
   x      111     2015-09-09   2015-09-21

将合并记录移至临时2并计算差异

<强> Temp_table_2

tableID   User     Start_Date   End_Date   Diff
-------   ----    ----------   ---------- ------
   2      111     2015-09-01   2015-09-02    2
   4      111     2015-08-16   2015-08-21    5
   5      111     2015-07-16   2015-07-21    5
   x      111     2015-09-09   2015-09-21   11

看看,尝试编写程序,并更新您的问题,以便在遇到困难时寻求更多帮助。