当前位置: 首页 > 面试题库 >

SQL Oracle计数群集

潘高岑
2023-03-14
问题内容

我有一个基于时间戳的数据集。

     Date                 Value
07-Jul-15 12:05:00          1  
07-Jul-15 12:10:00          1 
07-Jul-15 12:15:00          1 
07-Jul-15 12:20:00          0 
07-Jul-15 12:25:00          0 
07-Jul-15 12:30:00          0 
07-Jul-15 12:35:00          1 
07-Jul-15 12:40:00          1 
07-Jul-15 12:45:00          1 
07-Jul-15 12:50:00          1 
07-Jul-15 12:55:00          0 
07-Jul-15 13:00:00          0 
07-Jul-15 13:05:00          1 
07-Jul-15 13:10:00          1 
07-Jul-15 13:15:00          1 
07-Jul-15 13:20:00          0 
07-Jul-15 13:25:00          0

我想查询并返回

  1. 关闭次数:在这种情况下,关闭次数为3,基于0为ON和1为OFF。
  2. 每次关闭之间的时间段

例子:

1. 从:15年7月7日12:05:00到:15年7月7日12:15:00时长:15分钟
2. 从:15/07/07 12:35:00到:15/07/07 12:50:00持续时间:20分钟

我正在使用Oracle


问题答案:

使用ORACLE中的LEAD和LAG函数,您可以构建以下查询:

1.关机次数:

WITH IntTable AS
( SELECT * FROM
  (
   SELECT dt b_date,value,LEAD(dt) OVER (ORDER BY dt) e_date  FROM
     (
        select "Date" dt,"Value" value,
               LAG("Value") OVER (ORDER BY "Date") pvalue,
               LEAD("Value") OVER (ORDER BY "Date") nvalue
        from T
     ) T1
     WHERE pvalue is NULL or value<>pvalue or nvalue is NULL 
   )
WHERE E_DATE is NOT NULL
)
SELECT COUNT(*) FROM IntTable where value = 0

[SQLFiddle demo](http://sqlfiddle.com/#!4/d3eac2/13)

2.期间每次关闭之间

WITH IntTable AS
( SELECT * FROM
  (
   SELECT dt b_date,value,LEAD(dt) OVER (ORDER BY dt) e_date  FROM
     (
        select "Date" dt,"Value" value,
               LAG("Value") OVER (ORDER BY "Date") pvalue,
               LEAD("Value") OVER (ORDER BY "Date") nvalue
        from T
     ) T1
     WHERE pvalue is NULL or value<>pvalue or nvalue is NULL 
   )
WHERE E_DATE is NOT NULL
)
SELECT b_date,e_date, (e_date-b_date) * 60 * 24 FROM IntTable where value = 1

[SQLFiddle demo](http://sqlfiddle.com/#!4/d3eac2/19)



 类似资料:
  • 本文向大家介绍集群计算与网格计算之间的区别,包括了集群计算与网格计算之间的区别的使用技巧和注意事项,需要的朋友参考一下 集群计算 群集计算机是指目标是作为同一单元工作的相同类型计算机的网络。当资源匮乏的任务需要较高的计算能力或内存时,可以使用这种网络。将两个或更多相同类型的计算机组合在一起以组成集群并执行任务。 网格计算 网格计算是指由相同或不同类型的计算机组成的网络,其目标是提供一种环境,在该环

  • 有没有一种方法可以暂停Dataproc群集,这样当我不积极运行火花外壳或火花提交作业时就不会收到账单?此链接处的群集管理说明:https://cloud.google.com/sdk/gcloud/reference/beta/dataproc/clusters/ 仅演示如何销毁群集,但我安装了spark cassandra连接器API。这是我创建每次都需要安装的映像的唯一选择吗?

  • #运营人求职交流聚集地# ⭐️前情提要 快手貌似将这个岗位的所有面试者都排在了一天面试,从早九点到晚九点;时间也拖得蛮久的,有8月就投了的朋友,也是在10.29那天面试。(快手打工人也是不容易,周末还得加班到九点) 🪩群面过程 言归正传,群面10人一组;平台是牛客,有三位面试官,一位负责主持流程,另俩位负责记录、点评;没有自我介绍,直接开始讨论;30分钟讨论,5分钟展示汇报,最后面试官只对我们给

  • Ai面-群面 群面试线上面试,总共10个人,没有自我介绍环节,hr简述了一下流程就放出了题目。 1、先是给了我们几分钟思考时间,然后开始按顺序发言,每个人应该是一分钟左右,超时会被提醒打断 2、二十分钟自由讨论,在这其中会有总结的、重点记录的 3、最后推选出一个人总结发言 题目内容是: 1.你作为主设计师和产品经理、设计总监产生分歧,如何在兼顾设计和生意的情况下带领团队完成设计。 2.提出设计灵感

  • 我使用的是Hazelcast 3.12。5我想知道我们是否可以在偶数个节点上运行hazelcast群集,或者需要/首选奇数个节点。如果我运行奇数个节点,是否会出现大脑分裂问题或类似情况/大脑分裂的可能性增加。 这可能是最基本的,但我想确定——我想从社区了解一些真实世界的经验。我不希望在四个节点足以完成任务的情况下,从三个节点增加到五个节点会产生成本,但同时,如果我们使用大小均匀的集群会有任何缺点,

  • 问题内容: 我对使用计算机集群运行Python程序感兴趣。过去我一直在使用Python MPI接口,但是由于在编译/安装这些接口时遇到困难,我更喜欢使用内置模块(例如Python的多处理模块)的解决方案。 我真正想做的就是设置一个跨整个计算机集群的实例,并运行一个。这是可能/容易做到的事情吗? 如果这不可能,那么我至少希望能够从中央脚本在每个节点上为每个节点使用不同参数来启动实例。 问题答案: 如