SQL Server递归查询的限制

时间:2017-03-16 14:10:08

标签: sql sql-server

我有这个数据结构

enter image description here

PresentationSession:1天有2个会话:早晨= 1,下午= 2。一些演示文稿是一整天的演示文稿,有些只有早上或下午。

dayofweek列表示演示文稿的星期几 - 例如星期一= 2,星期二= 3 ...

最大会话数是演示文稿最后连续会话的最大值。演示必须限制在一周的倍数内。例如,如果演示在Wed,Th,Fr和最大会话为12,则演示文稿持续2周。 (1天有2个疗程)。然而,如果周四有假期,那么它仍然是2周但是10个会话,因此MaxSession仍然是12.在频谱的另一边,如果MaxSession只有2,那么将有3个不同的演示在那一周。

Newblock标记本周开始,0 =本周新开始。

rn是当天的序号

我的目标是汇总记录并使用fromDate,endDate,presentationId,Name(参见插图)将信息合并为更易于阅读的格式(参见插图)

enter image description here

以下递归cte脚本可以很好地完成这项工作,但它只适用于50条记录的数据集。使用2000多条记录的数据集会出错。

错误是:

Msg 530, Level 16, State 1, Line 110
The statement terminated. The maximum recursion 100 has been exhausted before statement completion.

起初,我认为Oracle有同样的问题,但进一步检查表明递归限制仅与SQL Server隔离!完全相同的数据集在Oracle中就像魅力一样。

以下是SQL Server中的“工作”cte语句(最多50条记录)

with r (PresentationDate, Presentationid,Name,MaxSession,PresentationDay,rn,blocknum,pos,lastmaxrow) AS
(
  select PresentationDate, Presentationid, Name, MaxSession, PresentationDay, rn,1,1,MaxSession
  from presentation 
  where rn=1
  union all
  select u.PresentationDate, u.Presentationid,  u.Name, u.MaxSession, u.PresentationDay, u.rn,
  case 
    when r.pos=r.lastmaxrow or u.newblock=0 then
         r.blocknum+1
         else r.blocknum
  end,
  case 
    when r.pos = r.lastmaxrow or u.newblock=0 then 1
    else r.pos+1
  end,
  case
    when r.pos = r.lastmaxrow or u.newblock=0 then r.lastmaxrow
    else r.MaxSession
  end
  from presentation u
  join r
  on u.Presentationid=r.Presentationid and u.rn=r.rn+1
  )
  select min(r.PresentationDate) as fromDate, max(r.PresentationDate) as todate, 
          r.Presentationid, r.Name
  from r
  group by r.Presentationid, r.Name, r.blocknum
  order by r.Name, r.blocknum

所以我的问题是:

1)我的“工作”代码中是否有某些内容可以改进以绕过SQL Server中的递归限制?

2)SQL Server中是否有一个配置开关可以翻转以允许递归超过100次?

3)如果上述2个问题的答案为否,是否可以在不使用游标的情况下将递归语句转换为非递归语句?我理解我可能需要与其他临时表的多个语句,但如果不需要使用游标,我宁愿不使用它。

如果需要,我在excel中有一个完整的测试样本。由于我不知道我是否可以在这里上传,我附上了我的样本摘录,希望它足以说明我的观点。

PresentationDate,PresentationDay,PresentationSession,PresentationID,Name,DayOfWeek,MaxSession,rn,newblock
2016-05-24 00:00:00.000,3,1,ID1,ABC,3,8,1,0
2016-05-24 00:00:00.000,3,2,ID1,ABC,3,8,2,1
2016-05-25 00:00:00.000,4,1,ID1,ABC,4,8,3,1
2016-05-25 00:00:00.000,4,2,ID1,ABC,4,8,4,1
2016-05-26 00:00:00.000,5,1,ID1,ABC,5,8,5,1
2016-05-26 00:00:00.000,5,2,ID1,ABC,5,8,6,1
2016-05-27 00:00:00.000,6,1,ID1,ABC,6,8,7,1
2016-05-27 00:00:00.000,6,2,ID1,ABC,6,8,8,1
2016-05-31 00:00:00.000,3,1,ID1,ABC,3,8,9,0
2016-05-31 00:00:00.000,3,2,ID1,ABC,3,8,10,1
2016-06-01 00:00:00.000,4,1,ID1,ABC,4,8,11,1
2016-06-01 00:00:00.000,4,2,ID1,ABC,4,8,12,1
2016-06-02 00:00:00.000,5,1,ID1,ABC,5,8,13,1
2016-06-02 00:00:00.000,5,2,ID1,ABC,5,8,14,1
2016-06-03 00:00:00.000,6,1,ID1,ABC,6,8,15,1
2016-06-03 00:00:00.000,6,2,ID1,ABC,6,8,16,1
2016-06-07 00:00:00.000,3,1,ID1,ABC,3,8,17,0
2016-06-07 00:00:00.000,3,2,ID1,ABC,3,8,18,1
2016-06-08 00:00:00.000,4,1,ID1,ABC,4,8,19,1
2016-06-08 00:00:00.000,4,2,ID1,ABC,4,8,20,1
2016-06-09 00:00:00.000,5,1,ID1,ABC,5,8,21,1
2016-06-09 00:00:00.000,5,2,ID1,ABC,5,8,22,1
2016-06-10 00:00:00.000,6,1,ID1,ABC,6,8,23,1
2016-06-10 00:00:00.000,6,2,ID1,ABC,6,8,24,1
2016-06-14 00:00:00.000,3,1,ID1,ABC,3,8,25,0
2016-06-14 00:00:00.000,3,2,ID1,ABC,3,8,26,1
2016-06-15 00:00:00.000,4,1,ID1,ABC,4,8,27,1
2016-06-15 00:00:00.000,4,2,ID1,ABC,4,8,28,1
2016-06-16 00:00:00.000,5,1,ID1,ABC,5,8,29,1
2016-06-16 00:00:00.000,5,2,ID1,ABC,5,8,30,1
2016-06-17 00:00:00.000,6,1,ID1,ABC,6,8,31,1
2016-06-17 00:00:00.000,6,2,ID1,ABC,6,8,32,1
2016-06-21 00:00:00.000,3,1,ID1,ABC,3,8,33,0
2016-06-21 00:00:00.000,3,2,ID1,ABC,3,8,34,1
2016-06-22 00:00:00.000,4,1,ID1,ABC,4,8,35,1
2016-06-22 00:00:00.000,4,2,ID1,ABC,4,8,36,1
2016-06-23 00:00:00.000,5,1,ID1,ABC,5,8,37,1
2016-06-23 00:00:00.000,5,2,ID1,ABC,5,8,38,1
2016-06-24 00:00:00.000,6,1,ID1,ABC,6,8,39,1
2016-06-24 00:00:00.000,6,2,ID1,ABC,6,8,40,1
2016-06-28 00:00:00.000,3,1,ID1,ABC,3,8,41,0
2016-06-28 00:00:00.000,3,2,ID1,ABC,3,8,42,1
2016-06-29 00:00:00.000,4,1,ID1,ABC,4,8,43,1
2016-06-29 00:00:00.000,4,2,ID1,ABC,4,8,44,1
2016-06-30 00:00:00.000,5,1,ID1,ABC,5,8,45,1
2016-06-30 00:00:00.000,5,2,ID1,ABC,5,8,46,1
2016-07-01 00:00:00.000,6,1,ID1,ABC,6,8,47,1
2016-07-01 00:00:00.000,6,2,ID1,ABC,6,8,48,1
2016-07-05 00:00:00.000,3,1,ID1,ABC,3,8,49,0
2016-07-05 00:00:00.000,3,2,ID1,ABC,3,8,50,1
2016-07-06 00:00:00.000,4,1,ID1,ABC,4,8,51,1
2016-07-06 00:00:00.000,4,2,ID1,ABC,4,8,52,1
2016-07-07 00:00:00.000,5,1,ID1,ABC,5,8,53,1
2016-07-07 00:00:00.000,5,2,ID1,ABC,5,8,54,1
2016-07-08 00:00:00.000,6,1,ID1,ABC,6,8,55,1
2016-07-08 00:00:00.000,6,2,ID1,ABC,6,8,56,1
2016-07-12 00:00:00.000,3,1,ID1,ABC,3,8,57,0
2016-07-12 00:00:00.000,3,2,ID1,ABC,3,8,58,1
2016-07-13 00:00:00.000,4,1,ID1,ABC,4,8,59,1
2016-07-13 00:00:00.000,4,2,ID1,ABC,4,8,60,1
2016-07-14 00:00:00.000,5,1,ID1,ABC,5,8,61,1
2016-07-14 00:00:00.000,5,2,ID1,ABC,5,8,62,1
2016-07-15 00:00:00.000,6,1,ID1,ABC,6,8,63,1
2016-07-15 00:00:00.000,6,2,ID1,ABC,6,8,64,1
2016-07-19 00:00:00.000,3,1,ID1,ABC,3,8,65,0
2016-07-19 00:00:00.000,3,2,ID1,ABC,3,8,66,1
2016-07-20 00:00:00.000,4,1,ID1,ABC,4,8,67,1
2016-07-20 00:00:00.000,4,2,ID1,ABC,4,8,68,1
2016-07-21 00:00:00.000,5,1,ID1,ABC,5,8,69,1
2016-07-21 00:00:00.000,5,2,ID1,ABC,5,8,70,1
2016-07-22 00:00:00.000,6,1,ID1,ABC,6,8,71,1
2016-07-22 00:00:00.000,6,2,ID1,ABC,6,8,72,1
2016-07-26 00:00:00.000,3,1,ID1,ABC,3,8,73,0
2016-07-26 00:00:00.000,3,2,ID1,ABC,3,8,74,1
2016-07-27 00:00:00.000,4,1,ID1,ABC,4,8,75,1
2016-07-27 00:00:00.000,4,2,ID1,ABC,4,8,76,1
2016-07-28 00:00:00.000,5,1,ID1,ABC,5,8,77,1
2016-07-28 00:00:00.000,5,2,ID1,ABC,5,8,78,1
2016-07-29 00:00:00.000,6,1,ID1,ABC,6,8,79,1
2016-07-29 00:00:00.000,6,2,ID1,ABC,6,8,80,1
2016-08-02 00:00:00.000,3,1,ID1,ABC,3,8,81,0
2016-08-02 00:00:00.000,3,2,ID1,ABC,3,8,82,1
2016-08-03 00:00:00.000,4,1,ID1,ABC,4,8,83,1
2016-08-03 00:00:00.000,4,2,ID1,ABC,4,8,84,1
2016-08-04 00:00:00.000,5,1,ID1,ABC,5,8,85,1
2016-08-04 00:00:00.000,5,2,ID1,ABC,5,8,86,1
2016-08-05 00:00:00.000,6,1,ID1,ABC,6,8,87,1
2016-08-05 00:00:00.000,6,2,ID1,ABC,6,8,88,1
2016-08-09 00:00:00.000,3,1,ID1,ABC,3,8,89,0
2016-08-09 00:00:00.000,3,2,ID1,ABC,3,8,90,1
2016-08-10 00:00:00.000,4,1,ID1,ABC,4,8,91,1
2016-08-10 00:00:00.000,4,2,ID1,ABC,4,8,92,1
2016-08-11 00:00:00.000,5,1,ID1,ABC,5,8,93,1
2016-08-11 00:00:00.000,5,2,ID1,ABC,5,8,94,1
2016-08-12 00:00:00.000,6,1,ID1,ABC,6,8,95,1
2016-08-12 00:00:00.000,6,2,ID1,ABC,6,8,96,1
2016-08-16 00:00:00.000,3,1,ID1,ABC,3,8,97,0
2016-08-16 00:00:00.000,3,2,ID1,ABC,3,8,98,1
2016-08-17 00:00:00.000,4,1,ID1,ABC,4,8,99,1
2016-08-17 00:00:00.000,4,2,ID1,ABC,4,8,100,1
2016-08-18 00:00:00.000,5,1,ID1,ABC,5,8,101,1
2016-08-18 00:00:00.000,5,2,ID1,ABC,5,8,102,1
2016-08-19 00:00:00.000,6,1,ID1,ABC,6,8,103,1
2016-08-19 00:00:00.000,6,2,ID1,ABC,6,8,104,1
2016-08-23 00:00:00.000,3,1,ID1,ABC,3,8,105,0
2016-08-23 00:00:00.000,3,2,ID1,ABC,3,8,106,1
2016-08-24 00:00:00.000,4,1,ID1,ABC,4,8,107,1
2016-08-24 00:00:00.000,4,2,ID1,ABC,4,8,108,1
2016-08-25 00:00:00.000,5,1,ID1,ABC,5,8,109,1
2016-08-25 00:00:00.000,5,2,ID1,ABC,5,8,110,1
2016-08-26 00:00:00.000,6,1,ID1,ABC,6,8,111,1
2016-08-26 00:00:00.000,6,2,ID1,ABC,6,8,112,1
2016-08-30 00:00:00.000,3,1,ID1,ABC,3,8,113,0
2016-08-30 00:00:00.000,3,2,ID1,ABC,3,8,114,1
2016-08-31 00:00:00.000,4,1,ID1,ABC,4,8,115,1
2016-08-31 00:00:00.000,4,2,ID1,ABC,4,8,116,1
2016-09-01 00:00:00.000,5,1,ID1,ABC,5,8,117,1
2016-09-01 00:00:00.000,5,2,ID1,ABC,5,8,118,1
2016-09-02 00:00:00.000,6,1,ID1,ABC,6,8,119,1
2016-09-02 00:00:00.000,6,2,ID1,ABC,6,8,120,1
2016-09-06 00:00:00.000,3,1,ID1,ABC,3,8,121,0
2016-09-06 00:00:00.000,3,2,ID1,ABC,3,8,122,1
2016-09-07 00:00:00.000,4,1,ID1,ABC,4,8,123,1
2016-09-07 00:00:00.000,4,2,ID1,ABC,4,8,124,1
2016-09-08 00:00:00.000,5,1,ID1,ABC,5,8,125,1
2016-09-08 00:00:00.000,5,2,ID1,ABC,5,8,126,1
2016-09-09 00:00:00.000,6,1,ID1,ABC,6,8,127,1
2016-09-09 00:00:00.000,6,2,ID1,ABC,6,8,128,1
2016-09-13 00:00:00.000,3,1,ID1,ABC,3,8,129,0
2016-09-13 00:00:00.000,3,2,ID1,ABC,3,8,130,1
2016-09-14 00:00:00.000,4,1,ID1,ABC,4,8,131,1
2016-09-14 00:00:00.000,4,2,ID1,ABC,4,8,132,1
2016-09-15 00:00:00.000,5,1,ID1,ABC,5,8,133,1
2016-09-15 00:00:00.000,5,2,ID1,ABC,5,8,134,1
2016-09-16 00:00:00.000,6,1,ID1,ABC,6,8,135,1
2016-09-16 00:00:00.000,6,2,ID1,ABC,6,8,136,1
2016-09-20 00:00:00.000,3,1,ID1,ABC,3,8,137,0
2016-09-20 00:00:00.000,3,2,ID1,ABC,3,8,138,1
2016-09-21 00:00:00.000,4,1,ID1,ABC,4,8,139,1
2016-09-21 00:00:00.000,4,2,ID1,ABC,4,8,140,1
2016-09-22 00:00:00.000,5,1,ID1,ABC,5,8,141,1
2016-09-22 00:00:00.000,5,2,ID1,ABC,5,8,142,1
2016-09-23 00:00:00.000,6,1,ID1,ABC,6,8,143,1
2016-09-23 00:00:00.000,6,2,ID1,ABC,6,8,144,1
2016-09-27 00:00:00.000,3,1,ID1,ABC,3,8,145,0
2016-09-27 00:00:00.000,3,2,ID1,ABC,3,8,146,1
2016-09-28 00:00:00.000,4,1,ID1,ABC,4,8,147,1
2016-09-28 00:00:00.000,4,2,ID1,ABC,4,8,148,1
2016-09-29 00:00:00.000,5,1,ID1,ABC,5,8,149,1
2016-09-29 00:00:00.000,5,2,ID1,ABC,5,8,150,1
2016-09-30 00:00:00.000,6,1,ID1,ABC,6,8,151,1
2016-09-30 00:00:00.000,6,2,ID1,ABC,6,8,152,1
2016-10-04 00:00:00.000,3,1,ID1,ABC,3,8,153,0
2016-10-04 00:00:00.000,3,2,ID1,ABC,3,8,154,1
2016-10-05 00:00:00.000,4,1,ID1,ABC,4,8,155,1
2016-10-05 00:00:00.000,4,2,ID1,ABC,4,8,156,1
2016-10-06 00:00:00.000,5,1,ID1,ABC,5,8,157,1
2016-10-06 00:00:00.000,5,2,ID1,ABC,5,8,158,1
2016-10-07 00:00:00.000,6,1,ID1,ABC,6,8,159,1
2016-10-07 00:00:00.000,6,2,ID1,ABC,6,8,160,1
2016-10-11 00:00:00.000,3,1,ID1,ABC,3,8,161,0
2016-10-11 00:00:00.000,3,2,ID1,ABC,3,8,162,1
2016-10-12 00:00:00.000,4,1,ID1,ABC,4,8,163,1
2016-10-12 00:00:00.000,4,2,ID1,ABC,4,8,164,1
2016-10-13 00:00:00.000,5,1,ID1,ABC,5,8,165,1
2016-10-13 00:00:00.000,5,2,ID1,ABC,5,8,166,1
2016-10-14 00:00:00.000,6,1,ID1,ABC,6,8,167,1
2016-10-14 00:00:00.000,6,2,ID1,ABC,6,8,168,1
2016-10-18 00:00:00.000,3,1,ID1,ABC,3,8,169,0
2016-10-18 00:00:00.000,3,2,ID1,ABC,3,8,170,1
2016-10-19 00:00:00.000,4,1,ID1,ABC,4,8,171,1
2016-10-19 00:00:00.000,4,2,ID1,ABC,4,8,172,1
2016-10-20 00:00:00.000,5,1,ID1,ABC,5,8,173,1
2016-10-20 00:00:00.000,5,2,ID1,ABC,5,8,174,1
2016-10-21 00:00:00.000,6,1,ID1,ABC,6,8,175,1
2016-10-21 00:00:00.000,6,2,ID1,ABC,6,8,176,1
2016-10-25 00:00:00.000,3,1,ID1,ABC,3,8,177,0
2016-10-25 00:00:00.000,3,2,ID1,ABC,3,8,178,1
2016-10-26 00:00:00.000,4,1,ID1,ABC,4,8,179,1
2016-10-26 00:00:00.000,4,2,ID1,ABC,4,8,180,1
2016-10-27 00:00:00.000,5,1,ID1,ABC,5,8,181,1
2016-10-27 00:00:00.000,5,2,ID1,ABC,5,8,182,1
2016-10-28 00:00:00.000,6,1,ID1,ABC,6,8,183,1
2016-10-28 00:00:00.000,6,2,ID1,ABC,6,8,184,1
2016-11-01 00:00:00.000,3,1,ID1,ABC,3,8,185,0
2016-11-01 00:00:00.000,3,2,ID1,ABC,3,8,186,1
2016-11-02 00:00:00.000,4,1,ID1,ABC,4,8,187,1
2016-11-02 00:00:00.000,4,2,ID1,ABC,4,8,188,1
2016-11-03 00:00:00.000,5,1,ID1,ABC,5,8,189,1
2016-11-03 00:00:00.000,5,2,ID1,ABC,5,8,190,1
2016-11-04 00:00:00.000,6,1,ID1,ABC,6,8,191,1
2016-11-04 00:00:00.000,6,2,ID1,ABC,6,8,192,1
2016-11-08 00:00:00.000,3,1,ID1,ABC,3,8,193,0
2016-11-08 00:00:00.000,3,2,ID1,ABC,3,8,194,1
2016-11-09 00:00:00.000,4,1,ID1,ABC,4,8,195,1
2016-11-09 00:00:00.000,4,2,ID1,ABC,4,8,196,1
2016-11-10 00:00:00.000,5,1,ID1,ABC,5,8,197,1
2016-11-10 00:00:00.000,5,2,ID1,ABC,5,8,198,1
2016-11-11 00:00:00.000,6,1,ID1,ABC,6,8,199,1
2016-11-11 00:00:00.000,6,2,ID1,ABC,6,8,200,1

2 个答案:

答案 0 :(得分:2)

在SQL Server中,您可以通过使用查询指定OPTION (MAXRECURSION X)来绕过100次迭代默认限制。其中X是最大迭代次数,并且它可以具有从0(无限制)到32767(最大定义限制)的值。

如果您不确定可能会有多少次迭代或预期迭代次数超过32767,那么您可以考虑使用MAXRECURSION 0选项。

with r (PresentationDate, Presentationid,Name,MaxSession,PresentationDay,rn,blocknum,pos,lastmaxrow) AS
(
  select PresentationDate, Presentationid, Name, MaxSession, PresentationDay, rn,1,1,MaxSession
  from presentation 
  where rn=1
  union all
  select u.PresentationDate, u.Presentationid,  u.Name, u.MaxSession, u.PresentationDay, u.rn,
  case 
    when r.pos=r.lastmaxrow or u.newblock=0 then
         r.blocknum+1
         else r.blocknum
  end,
  case 
    when r.pos = r.lastmaxrow or u.newblock=0 then 1
    else r.pos+1
  end,
  case
    when r.pos = r.lastmaxrow or u.newblock=0 then r.lastmaxrow
    else r.MaxSession
  end
  from presentation u
  join r
  on u.Presentationid=r.Presentationid and u.rn=r.rn+1
  )
  select min(r.PresentationDate) as fromDate, max(r.PresentationDate) as todate, 
          r.Presentationid, r.Name
  from r
  group by r.Presentationid, r.Name, r.blocknum
  order by r.Name, r.blocknum
OPTION (MAXRECURSION 0)

您可以在CTE here

的上下文中阅读有关MAXRECURSION的信息

答案 1 :(得分:0)

差距和群岛

以下是展示概念的最低限度查询 有很多教程可以详细解释这类问题。

select      PresentationID
           ,min(PresentationDate)   as from_date
           ,max(PresentationDate)   as to_date

from       (select      PresentationID
                       ,PresentationDate

                       ,dense_rank () over
                        (
                            partition by    PresentationID
                            order by        PresentationDate    
                        )   as dr          

            from        presentation
            ) p

group by    PresentationID
           ,dateadd(day,-dr,PresentationDate)

order by    PresentationID  
           ,to_date
+----------------+------------+------------+
| PresentationID | from_date  |  to_date   |
+----------------+------------+------------+
| ID1            | 2016-05-24 | 2016-05-27 |
| ID1            | 2016-05-31 | 2016-06-03 |
| ID1            | 2016-06-07 | 2016-06-10 |
| ID1            | 2016-06-14 | 2016-06-17 |
| ID1            | 2016-06-21 | 2016-06-24 |
| ID1            | 2016-06-28 | 2016-07-01 |
| ID1            | 2016-07-05 | 2016-07-08 |
| ID1            | 2016-07-12 | 2016-07-15 |
| ID1            | 2016-07-19 | 2016-07-22 |
| ID1            | 2016-07-26 | 2016-07-29 |
| ID1            | 2016-08-02 | 2016-08-05 |
| ID1            | 2016-08-09 | 2016-08-12 |
| ID1            | 2016-08-16 | 2016-08-19 |
| ID1            | 2016-08-23 | 2016-08-26 |

...

以下是一些数据,可以帮助您了解此处发生了什么。

+----------------+------------------+----+------------+
| PresentationID | PresentationDate | dr |  dateadd   |
+----------------+------------------+----+------------+
| ID1            | 2016-05-24       |  1 | 2016-05-23 |
| ID1            | 2016-05-24       |  1 | 2016-05-23 |
| ID1            | 2016-05-25       |  2 | 2016-05-23 |
| ID1            | 2016-05-25       |  2 | 2016-05-23 |
| ID1            | 2016-05-26       |  3 | 2016-05-23 |
| ID1            | 2016-05-26       |  3 | 2016-05-23 |
| ID1            | 2016-05-27       |  4 | 2016-05-23 |
| ID1            | 2016-05-27       |  4 | 2016-05-23 |
| ID1            | 2016-05-31       |  5 | 2016-05-26 |
| ID1            | 2016-05-31       |  5 | 2016-05-26 |
| ID1            | 2016-06-01       |  6 | 2016-05-26 |
| ID1            | 2016-06-01       |  6 | 2016-05-26 |
| ID1            | 2016-06-02       |  7 | 2016-05-26 |
| ID1            | 2016-06-02       |  7 | 2016-05-26 |
| ID1            | 2016-06-03       |  8 | 2016-05-26 |
| ID1            | 2016-06-03       |  8 | 2016-05-26 |
| ID1            | 2016-06-07       |  9 | 2016-05-29 |
| ID1            | 2016-06-07       |  9 | 2016-05-29 |
| ID1            | 2016-06-08       | 10 | 2016-05-29 |
| ID1            | 2016-06-08       | 10 | 2016-05-29 |
...