问题标签 [gaps-and-islands]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
492 浏览

sql - SQL 计算学生的不同缺勤时间

我正在寻找一种方法来计算学生缺勤的不同时期:

每次学生缺勤时,我都会在缺勤表中创建一条记录,有些缺勤可能会重叠,有些会延长之前的缺勤时间。

现在我想计算有间隔的唯一缺勤期的数量,结果应该是:

111111 有两个缺勤期,两者之间有间隔

222222也有两个缺席期,但没有间隔,所以必须认为是1个缺席期

333333 只有 1 个缺勤期

444444有2个周期重叠,也没有间隙,所以它必须被认为是1个缺席周期

谁能帮我写一个查询?

0 投票
3 回答
123 浏览

php - 检查mysql ID跳过php

说在mysql中我有一列是id,只是int auto increment。

有什么方法可以使用 php 告诉我什么时候删除了一个 id?

就像说我有

5 6 7 8 10

我需要它来告诉我 9 丢失了,并为所有 id 继续此操作。有没有办法做到这一点?

谢谢

0 投票
5 回答
5453 浏览

mysql - MySQL:按连续天分组并计数组

我有一个数据库表,其中包含每个用户在城市中的签到。我需要知道一个用户在一个城市呆了多少天,然后,一个用户对一个城市进行了多少次访问(一次访问包括在一个城市连续停留的天数)。

因此,考虑我有下表(简化,仅包含DATETIMEs - 相同的用户和城市):

用户到此城市的630.06、01.07、02.07、01.08、05.08、06.08)。_ _

我想用SELECT COUNT(id) FROM table GROUP BY DATE(datetime)

然后,对于该用户对该城市的访问次数,查询应返回3 ( 30.06-02.07 , 01.08 , 05.08-06.08 )。

问题是我不知道如何构建这个查询。

任何帮助将不胜感激!

0 投票
2 回答
1250 浏览

sql - SQL Server 2008,临时表,游标

我已经为此工作了一段时间。我想知道如何获得这张桌子:

看起来像这张表:

我尝试使用游标,但没有必要。此外,它必须被分组。只要连续几天休息,就会发生新的分组。任何帮助,将不胜感激。

此查询将生成上述示例数据

0 投票
3 回答
7262 浏览

sql - SQL从多个重叠间隔中查找经过的时间

不使用 MSSQL、DB2 或 Oracle。没有 CTE。没有 OVERLAP 谓词。没有 INTERVAL 数据类型。情况:要修理的车辆在收到所有订购的零件后才能开始工作。在开始维修之前,可以多次订购零件。我们需要提取车辆处于“部件搁置”状态的时间

因此,对于标识为 id = 1 的车辆,在 4 个不同的场合订购 (d1) 和接收 (d2) 零件

从上面可以看出,开始工作的等待时间(假设 8 月 1 日为车辆可以工作的日期)为 13 天。等待零件的实际时间是 11 天,这是我们需要从数据中得出的数字。实际的日期时间数据将是时间戳,我们将从中提取小时数,我们在此示例数据中使用日期以简化演示。我们正在努力生成一个基于集合(不是 psm,不是 udf,不是光标)的解决方案。TIA

0 投票
2 回答
825 浏览

sql - 如果序列未中断,则从多行获取总时间间隔

我有WorkPerson表(这些只是理解问题的例子)。

结构

Work桌子

Person桌子

数据

Work桌子

Person桌子

只是带有人名的人名

预期产出

间隔必须按顺序排列。它不能在中间的某个地方被打破。这就是为什么第 1 个人有两个间隔。

如果它改变了一些东西,我正在使用 postgres。你有什么想法吗?我想在一个查询中做到这一点,但如果没有这样的解决方案,我会在 php.ini 中做一些间隔合并。

0 投票
3 回答
406 浏览

sql - 组关闭号码

我有一个包含 2 列整数的表。第一列表示起始索引,第二列表示结束索引。

简单到目前为止。我想做的是将所有以下记录分组在一起:

一条记录可以从与前一个结束索引相同的索引开始,或以 1 为边距:

都会导致

我正在使用 SQL Server 2008 R2。

任何帮助都会很棒

0 投票
3 回答
765 浏览

sql-server - 在 SQL 中连接日期范围(首选 T/SQL)

我需要将带有日期和代码的行连接到日期范围中

具有作为复合主键(日期和代码)的两列的表

需要转换为

还有其他方法还是光标循环是唯一的方法?

0 投票
2 回答
990 浏览

mysql - 我可以在 MySQL 中选择 GROUP BY 查询的最后一行吗?

【使用MySQL】有一个表messages,其中包含如下数据:

什么查询将返回以下结果?

0 投票
6 回答
4672 浏览

php - SQL:从数据库中获取所有缺失的日期记录

我有一个具有以下结构的数据库表

典型的行是 1, '2011-10-13 12:00:00', 4

我的行包含过去 4 个月的数据,但是丢失了很多天,我想使用 SQL 找出丢失的天数,有什么想法可以编写这个查询吗?

我怀疑您通过某种方式获取日期列表并将这些与数据库中的值进行比较来解决此问题。

我知道您可以使用 PHP 或其他使用多个查询的编程语言来执行此操作,但是如果可能的话,我想在数据库级别执行此操作。

提前致谢