gaps-and-islands相关内容

合并日期:前一条记录后的日期间隔为零或一天

在SQL Server中,当开始日期在结束日期之后或开始日期等于结束日期时,我要根据ID将多个记录合并为单个记录,并在该组中获得Max(ID2) 下面是示例输入和输出。还添加了输入表的SQL代码: create table #T (ID1 INT, ID2 INT, StartDate DATE, EndDate DATE) insert into #T values (100, 7 ..
发布时间:2022-04-19 14:16:42 数据库

Microsoft SQL Server 2016,T-SQL:基于单个日期获取数据集的日期范围

我在SQL Server 2016中有一个有趣的情况。我正在使用T-SQL语言。 我有一个名为(#DataSet)的数据集: 名为ContinuousDates的最后一列将始终具有连续的日期值,没有间隔,例如从2021年1月1日到2021年12月31日。它永远不会有相同ID或名称的重复日期,即一个人在给定的一天只能有一行数据。(在本例中,我只显示了一个人,ID=1,姓名=X。在我的实际 ..
发布时间:2022-04-17 11:57:51 数据库

如何将时间戳分组为岛屿(基于任意间隙)?

将此日期列表视为timestamptz: 我使用颜色手动对日期进行分组:每组与下一组之间至少间隔 2 分钟. 我试图通过查看用户执行操作的时间(数据是他们完成学习句子的时间)来衡量给定用户的学习量.例如:在黄色块上,我认为用户已学习从 14 点 24 分到 14 点 27 分一次,或者大约连续 3 分钟. 我知道如何通过查看所有日期并查找两行之间的间隔,使用编程语言对这些日期进行 ..

SQL Server 2012 中的编号岛

我需要对 SQL Server 2012 中的岛进行编号.岛被定义为一组行,其中在同一 DateFrom 和 DateTo 之间没有天间隔>ItemId). 以下数据集: CREATE TABLE #Ranges (ItemId INT, DateFrom DATETIME, DateTo DATETIME)插入 #Ranges 值 (1,'2015-01-31','2015-02-17' ..
发布时间:2022-01-03 23:06:25 其他开发

查找缺失序列号的 SQL 查询

我有一列名为sequence.此列中的数据看起来像 1、2、3、4、5、7、9、10、15. 我需要从表中找到缺失的序列号.什么 SQL 查询会从我的表中找到缺失的序列号?我期待像 这样的结果 缺少数字---------------6811121314 我只使用一张桌子.我尝试了下面的查询,但没有得到我想要的结果. select de.sequence + 1 as sequence ..
发布时间:2022-01-01 10:37:12 其他开发

将连续的日期有效期间隔连接在一起

我有一系列记录,其中包含一些具有时间有效性的信息(产品类型). 如果分组信息(产品类型)保持不变,我想将相邻的有效间隔融合在一起.我不能使用带有 MIN 和 MAX 的简单 GROUP BY,因为某些产品类型(在示例中为 A) 可以“离开"和“回来". 使用 Oracle 11g. MySQL 的一个类似问题是:我如何在 MySQL 中做一个连续的组? 输入数据: |产品 ..
发布时间:2021-12-30 14:00:19 数据库

更改编号列

我有 NAME 和 PAY,但在这个例子中我需要 CHANGEGROUP: 名称支付日期更改组莎莉 12 10/01/2011 1莎莉 12 10/01/2011 1莎莉 12 11/02/2011 1莎莉 12 11/02/2011 1莎莉 12 12/01/2012 1莎莉 13 04/23/2013 2莎莉 12 04/24/2013 3莎莉 10 05/01/2013 4莎莉 10 10 ..
发布时间:2021-12-27 08:12:08 数据库

如何从一系列数字中检查任何缺失的数字?

我正在做一个项目,为一所大学创建一个招生系统;这些技术是 Java 和 Oracle. 在其中一张表中,存储了预先生成的序列号.稍后,根据这些序列号,将输入申请人的表格数据.我的要求是,当输入过程完成时,我将必须生成一个 Lot wise 报告.如果在提供预先生成的序列号期间丢失了任何序列号. 比如在一张表中,序号是7001、7002、7004、7005、7006、7010.从上面的系 ..
发布时间:2021-12-24 15:57:37 数据库

sql仅按顺序分组

假设我有下表: MyTable---------|1 |一个 ||2 |一个 ||3 |一个 ||4 |乙 ||5 |乙 ||6 |乙 ||7 |一个 ||8 |一个 |--------- 我需要 sql 查询输出以下内容: ---------|3 |一个 ||3 |乙 ||2 |一个 |--------- 基本上我正在做一个 group by 但只针对在序列中在一起的行.有什么想法吗? ..
发布时间:2021-12-13 08:22:07 数据库

使用 SQL 检测连续的日期范围

我想填充需要开始和结束日期信息的日历对象.我有一个包含日期序列的列.有些日期是连续的(有一天的差异),有些则不是. 信息日期2013-12-04 连续日期 [StartDate]2013-12-05 连续日期2013-12-06 连续日期 [EndDate]2013-12-09 [开始日期]2013-12-10 [结束日期]2014-01-01 [开始日期]2014-01-022014-01-0 ..
发布时间:2021-12-13 08:21:53 数据库

如何在连续范围内分组

我知道一些基本的 SQL,但我无法理解这一点.我看着高低,但没有骰子.我需要查看以下数据,我可以在应用层代码中做到这一点.但不幸的是,对于这个特殊的,代码必须放在数据层. 我正在使用 T-SQL. 表格 Date Crew DayType01-02-11 John Doe SEA02-02-11 John Doe SEA03-02-11 John Doe SEA04-02-11 Jo ..
发布时间:2021-12-10 12:48:34 数据库

GROUP BY 和聚合顺序数值

使用 PostgreSQL 9.0. 假设我有一个包含以下字段的表:company、profession 和 year.我想返回一个结果,其中包含唯一的公司和专业,但根据数字序列聚合(到数组中很好)年份: 示例表: +-----------------------------+|公司 |职业 |年 |+---------+------------+------+|谷歌 |程序员 |2 ..

检查连续 x 天 - 数据库中的给定时间戳

谁能给我一个想法或提示,如何在存储登录名(用户 ID、时间戳)的数据库表 (MySQL) 中连续检查 X 天? Stackoverflow 做到了(例如,像 Enthusiast 这样的徽章 - 如果您连续登录 30 天左右......).您必须使用哪些功能或如何使用它的想法是什么? 类似于SELECT 1 FROM login_dates WHERE ...? 解决方案 您可 ..
发布时间:2021-11-20 22:17:23 数据库

如何在mysql中找到顺序编号的差距?

我们有一个数据库,其中的表的值是从另一个系统导入的.有自增列,没有重复值,但有缺失值.例如,运行此查询: 从 arrc_vouchers 中选择 count(id),其中 id 介于 1 和 100 之间 应该返回 100,但它返回 87.我可以运行任何查询来返回缺失数字的值吗?例如,可能存在 id 1-70 和 83-100 的记录,但没有 id 为 71-82 的记录.我想返回 71、72 ..
发布时间:2021-11-20 21:30:50 数据库

MySQL:即使不存在记录,也选择范围内的所有日期

我有一个用户数据库.我想创建一个基于用户群增长的图表.我现在的查询是: SELECT DATE(datecreated), count(*) AS number FROM usersWHERE DATE(创建日期)>'2009-06-21' AND DATE(datecreated) 这返回几乎我想要的.如果我们一天有 0 个用户,那一天不会作为 0 值返回,它只是被跳过,并返回至少有一个用 ..
发布时间:2021-11-20 21:23:30 数据库

获取两个日期之间的日期列表

使用标准的 mysql 函数可以编写一个查询,该查询将返回两个日期之间的天数列表. 例如,给定 2009-01-01 和 2009-01-13,它将返回一个带有值的单列表: 2009-01-012009-01-022009-01-032009-01-042009-01-052009-01-062009-01-072009-01-082009-01-092009-01-102009-01- ..
发布时间:2021-11-20 21:06:35 数据库