查询以获取两个日期之间所有日期的计数

时间:2016-11-15 13:46:05

标签: mysql sql

我遇到的情况是,我有一个数据。我需要在给定的日期范围内捕获每个日期的行count_id的计数。

例如:用户输入日期为:

    set @start_date = '2016-01-01';
    set @end_date   = '2016-09-30';

我得到这样的数据:

 |Project id|    |Tracker id| |Statusid| |Hours| |Hours| |Date Created| |Date Updated|           |Count when created|
'Cyrcle Connect', '5',        '1',       NULL, NULL, '2016-07-12 02:33:18', '2016-09-13 07:32:33', '3'

我必须捕获信息,我可以在这两个日期范围内显示每个日期的计数。

所需的输出将是:

    |Count when Created|  |Count when 2016-02-10|
             3                      5

我知道工会在这种情况下不起作用,因为我无法在12个月内统一数据。用户可以给出任何日期范围。

我只展示了两个,但我必须在所有日期捕获信息。该表没有条目,因为它保留了最新的行。快照数据可用,我可以使用它来生成我的样本数据。

我只想知道任何方法,我可以捕获这些信息。我不是在寻找完整的解决方案,只是一个方向。

由于

1 个答案:

答案 0 :(得分:1)

试试这个:

select DATE(Date_Created) as R_DATE , COUNT(*) as R_COUNT
  from <your table>
 where DATE(Date_Created) >= @Start_Date
   and DATE(Date_Created) <  @End_Date
group by R_DATE
;

您还可以使用between作为时间窗口(我更喜欢上面的内容,因为它对我来说更清晰)。