Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何按连续日期范围对数据进行分组_Sql_Ms Access - Fatal编程技术网

Sql 如何按连续日期范围对数据进行分组

Sql 如何按连续日期范围对数据进行分组,sql,ms-access,Sql,Ms Access,我有一个表格,在其中输入每位员工的出勤情况,包括年假代码:LAn或事假代码:LCa +----+------+---+ |ID |日期|收件人| +----+------+---+ |9999年7月1日19日生命周期评价| |9999年7月2日19日生命周期评价| |9999年3月19日生命周期评价| |10000年7月15日至19日| |10000年7月16日至19日| |10000年7月17日至19日| |10000年7月18日至19日| |10000年7月19日至19日| |9999年7月

我有一个表格,在其中输入每位员工的出勤情况,包括年假代码:LAn或事假代码:LCa

+----+------+---+ |ID |日期|收件人| +----+------+---+ |9999年7月1日19日生命周期评价| |9999年7月2日19日生命周期评价| |9999年3月19日生命周期评价| |10000年7月15日至19日| |10000年7月16日至19日| |10000年7月17日至19日| |10000年7月18日至19日| |10000年7月19日至19日| |9999年7月22日19日生命周期评价| |9999年7月23日19日生命周期评价| |9999年7月24日19日生命周期评价| +----+------+---+ 我在MS Access 2016工作

这与此问题非常相似:,但我需要MS Access中的解决方案。有人能帮我吗

我希望查询根据日期对数据进行分区,以便输出如下所示:

+----+------+------+---+---+ |ID | DateFrom | date to | Days | Att| +----+------+------+---+---+ |9999 | 01-Jul-19 | 03-Jul-19 | 3 |生命周期评价| |10000 | 19年7月15日| 19年7月19日| 5 |兰| |9999年| 19年7月22日| 19年7月24日| 3年|生命周期评价| +----+------+------+---+---+
在MS Access中,可以使用相关子查询生成序列号。然后从日期中减去序列号以识别组:

select id, min(date), max(date), att
from (select t.*,
             (select count(*)
              from t as t2
              where t2.id = t.id and
                    t2.date <= t.date
             ) as seqnum
      from t
     ) as t
group by id, att, dateadd("d", - seqnum, date)
按日期添加分组,-seqnum,日期1+。