19
SQL确定最少连续访问天数?
以下用户历史记录表包含给定用户每天(在UTC的24小时内)访问网站的每一条记录。它有成千上万条记录,但每个用户每天只有一条记录。如果用户当天没有访问该网站,则不会生成任何记录。 ID UserId CreationDate ------ ------ ------------ 750997 12 2009-07-07 18:42:20.723 750998 15 2009-07-07 18:42:20.927 751000 19 2009-07-07 18:42:22.283 我正在寻找的是对此表具有良好性能的SQL查询,该查询告诉我哪些用户ID连续(n)天访问了该网站,却没有一天丢失。 换句话说,该表中有(n)个记录具有连续(前一天或后一天)日期的记录?如果序列中缺少任何一天,则该序列将中断并且应从1重新开始;否则,序列将重新开始。我们正在寻找在此连续几天没有间断的用户。 当然,此查询与特定的Stack Overflow标志之间的任何相似之处纯属巧合。.::)