如何找到与日期范围最重叠的时间段

2024-04-29

假设您有一个包含标识符、开始时间和结束时间的表。这些开始和结束时间可以是任意时间长度。开始时间始终早于结束时间。假设没有空值。

什么样的查询会告诉我最“流行”的时间,即每行中的两个范围与大多数其他行重叠的位置?

它的实际应用是它是一个记录用户登录和注销时间的表。我想编写一个查询来告诉我最多并发用户登录的时间,并查看这是多长时间。

谢谢。


有几种方法可以实现这一点。一种使用相关子查询。那可不是什么有趣的事。相反,我们使用累积和方法,因为您有 Oracle。

关键是从时间戳列表开始,+1 表示开始,-1 表示结束。这很容易:

select t.*
from ((select starttime as thetime, 1 as value from table t) union all
      (select endtime, -1 as value from table t)
     ) t

现在,累计总和为value告诉您在任何给定时间的活动重叠数:

select t.*, sum(value) over (order by thetime) as numactives
from ((select starttime as thetime, 1 as value from table t) union all
      (select endtime, -1 as value from table t)
     ) t

这解决了你的问题。您可能想添加一个order by numactives desc对于具体时间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何找到与日期范围最重叠的时间段 的相关文章

随机推荐

  • Swift 调用静态方法:type(of: self) 与显式类名

    快速地 一个例子func不能打电话static class func无需在方法调用前添加类名前缀 或者你可以使用type of self e g class Foo static func doIt func callIt Foo doIt
  • 获取 png 图像的像素的 alpha 值?

    我正在使用以下代码 img imagecreatefrompng image png col imagecolorat img x y alpha col gt gt 24 0x7F 但 alpha 值始终为 127 即使像素位于 x y
  • jQuery Draggable + Sortable - 如何在两个可滚动列表之间拖放

    我想要两个列表 可用项目和选定项目 其中可用项目通过拖放分配给选定项目 我要求所选项目可排序 但不要求可用项目可排序 挑战在于这两个列表都可能包含大量项目 因此需要可滚动 这是我迄今为止的 jQuery
  • 为什么不能使用 String.Empty 作为默认参数值?

    今天我在构造函数中创建默认参数值 public SomeClass String something String Empty 编译器抱怨道 something 的默认参数值必须是编译时的 持续的 我的印象是 String 类上的 Empt
  • Node.js 管道化 HTTP 客户端代理?

    Node js 中内置的 HTTP 客户端似乎不支持管道请求 https stackoverflow com a 5776649 362536 然而 我突然想到 也许可以创建一个Agent https nodejs org api http
  • Python:计算非整数的阶乘

    我想知道是否有一种快速的 Pythonic 的方法来计算非整数的阶乘 例如 3 4 当然 内置的factorial 函数在Math模块可用 但它仅适用于积分 我不关心这里的负数 你想用math gamma x http docs pytho
  • 当无法处理指定的情况时,在 switch 语句中抛出异常

    假设我们有一个函数可以在 MVC 应用程序的系统中更改用户的密码 public JsonResult ChangePassword string username string currentPassword string newPassw
  • 如何使用 jquery 迭代多个选择选项

    我只是想知道是否可以通过多个选择选项并获取它们的值和文本 如果选择一个 则获取值和文本 如果选择 2 则获取它们的值和文本 依此类推 我在一页中有 15 个选择框 任何帮助 将不胜感激
  • 分层数据库模型

    我正在设计一个关于宠物的分类网站 该网站将包含 3 个 主要 类别的广告 A Sale B Breeding C Jobs 我面临的问题是 所有 3 个广告类别都有一些共同点 但也有一些差异 例如 类别 A B 和 C 都有以下共同点 ca
  • QMetaObject::invokeMethod 在以下情况下不起作用:

    从静态类和非主线程调用 简而言之 我有一个类 sapp 它有另一个静态类 tobj 作为静态成员 为了避免静态顺序初始化失败 tobj 在 sapp 的方法中声明 该方法又返回 tobj 实例的指针 我的问题是 tobj 有一个计时器 应该
  • 在VBA中将html转换为纯文本

    我有一个 Excel 工作表 其中的单元格包含 html 如何批量将它们转换为明文 目前有很多无用的标签和样式 我想从头开始写它 但如果我能得到纯文本 那就容易多了 我可以编写一个脚本将 html 转换为 PHP 中的纯文本 所以如果您想不
  • 在 Scala 中使用 Some() 和 Option()

    我一直在与 Scala 中解析 JSON 字符串的函数式方法的概念作斗争 并且在返回 Option something 的情况下碰壁了 我提出了这个问题 https stackoverflow com questions 9289647 a
  • MVC Razor for 循环

    我有这段代码 嵌套在表单帖子内 但我不断收到错误 它缺少结束语 for int i 0 i lt itemsCount i
  • 无法通过Anaconda/jupyter获取MNIST数据库

    Hu guys 我是 python anaconda jupyter numPy panda 等的新手 所以如果这是一个非常愚蠢的问题 请原谅我 我正在尝试使用 anaconda jupyter 获取 MNIST 数据库 但每次我最后都会收
  • Java 中的引用变量里面有什么?

    我们知道对象引用变量保存表示访问对象的方式的位 它不保存对象本身 但保存诸如指针或地址之类的东西 我正在阅读 Head First Java 第 2 版 一书 书中写道 第 3 章第 54 页 在 Java 中我们并不真正知道什么是 在引用
  • 如何在一个 TextBox 中进行算术运算?

    例如我写在TextBox1 4 5 or 3 2 如何让答案出现在同一个文本框中 我尝试了这个 但无论如何它都不起作用 Private Sub Button1 Click sender As Object e As EventArgs Ha
  • 同步 gRPC 客户端同步/异步服务器

    我只是好奇 异步 gRPC 服务器是否支持多个客户端的连接 如果不是 异步的可以吗 以及异步服务器 同步客户端的组合 甚至可能吗 是的 同步 gRPC 支持开箱即用的多个连接客户端 我亲自测试了多达 2000 个同时连接的客户端到一个用 G
  • 从 select2 选定选项获取属性值

    我正在使用 Select2 插件http ivaynberg github io select2 select2 latest html http ivaynberg github io select2 select2 latest htm
  • PostgreSQL 中的字符串匹配

    我需要在 PostgreSQL 8 4 中实现正则表达式 据我理解 匹配 似乎正则表达式匹配仅在 9 0 中可用 我的需求是 当我给出输入时14 1我需要得到这些结果 14 1 1 14 1 2 14 1 Z 但排除 14 1 1 1 14
  • 如何找到与日期范围最重叠的时间段

    假设您有一个包含标识符 开始时间和结束时间的表 这些开始和结束时间可以是任意时间长度 开始时间始终早于结束时间 假设没有空值 什么样的查询会告诉我最 流行 的时间 即每行中的两个范围与大多数其他行重叠的位置 它的实际应用是它是一个记录用户登