场景和步骤“获取最后更改”问题

2023-11-30

我有下表抽象了一些场景及其步骤,按 START_DATE“desc”排序。

SCENARIO_KEY STEP_KEY START_DATE END_DATE PREVIOUS_SCENARIO_KEY PREVIOUS_STEP_KEY
128 44 20xx04x4 0 120 44
120 44 20xx03x3 20xx04x4 120 38
120 38 20xx11x0 20xx03x3 121 38
121 38 20xx07x2 20xx11x0 120 44
120 44 20xx07x1 20xx07x2 120 38

我需要在最后一次更改为值 44 (step_key = 44) 的步骤后获取第一个 scene_key (或另一个标识符)。

因此,此查询的结果应该是上次更改的某个标识符 - 上次更改后的第一行的 START_DATE,值为 44 (20xx03x3) 或上次更改后的 SCENARIO_KEY (120)。

简而言之,我需要能够识别最后更改为“44”步骤键的行。

是否有任何分析函数(或其他查询)可以实现此目的?你能给建议吗?


嗯。 。 。您可以使用以下命令获取最后一个非 44 日期之后最早的 44 日期:

select min(start_date)
from t
where t.start_date > (select max(t2.start_date)
                      from t t2
                      where t2.step_key <> 44
                     );

我想这就是你所要求的。

您也可以使用窗口函数。假设最近的行是“44”:

select t.*
from (select t.*,
             row_number() over (order by start_date) as seqnum,
             row_number() over (partition by step_key order by start_date) as seqnum_sk
      from t
     ) t
where step_key = 44 and seqnum = seqnum_sk
order by start_date
fetch first 1 row only;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

场景和步骤“获取最后更改”问题 的相关文章

  • SQLPlus 中的运行循环

    我制作了一个 bash 脚本 它通过 SQLPlus 连接到数据库并运行一个包含 For 循环的 SQL 脚本 如下所示 但是一旦运行它 它就会卡在循环的 BEGIN 中 如下所示 我尝试直接通过SQLPlus运行 结果是一样的 那么任何人
  • 将 Linq 表达式转换为 SQL Server 查询

    我正在使用一些 crm 框架 该框架没有任何内部 orm 并且不使用实体框架 仅使用纯 sql 查询 我在数据库中的每个表都有实体 所以我有例如 public class Customer public string FirstName g
  • 存储过程 EXEC 与 sp_executesql 的区别?

    我写了两个存储过程 其中一个是sp executesql而其他没有 sp executesql 两者都正确执行相同的结果 我不明白两者之间有什么区别 EXEC SQL 与 EXEC sp executesql SQL N eStatus v
  • 将记录与另一个表上的最新记录连接

    我正在尝试创建一个 SQL 视图 我如何从一个表中选择最新的记录 而其他记录保持原样 我需要从所有表中选择所有记录 这工作正常 但我需要仅按日期选择最新的提案 这是我遇到的问题 这是我到目前为止所拥有的 SELECT TOP 100 PER
  • SQL查询3个表,无法得到所需的结果

    列出所有已售出的作品以及艺术家 订购日期和发货日期 SELECT title artist order date ship date FROM items orders orderline WHERE orders order id ord
  • 使用绑定变量动态传递表名和列名

    有没有办法使用绑定变量将列名和表名动态传递给查询 这可以通过使用简单的串联运算符来完成 但我想要一种不同的方法来实现这一目标 EDIT OPEN abc cur FOR Select column name from table name
  • Oracle 函数编译成功,但在执行 PLS-00221 时抛出错误:不是过程或未定义

    我有简单的oracle功能 create or replace function abs test func test in in number return number is test out number BEGIN test out
  • 在 SQL 中查询行序列

    假设我正在存储events有关联users如下表 其中dt代表事件的时间戳 dt user event 1 1 A 2 1 D 3 1 B 4 1 C 5 1 B 6 2 B 7 2 B 8 2 A 9 2 A 10 2 C 这样我们就可以
  • 排除任何字段中具有 NULL 值的行结果?

    我有一个像这样的简单选择 SELECT FROM table WHERE fk id 10020 它可以工作 但有一些字段为 NULL 没有模式所以做了 SELECT FROM table WHERE fk id 10020 AND NOT
  • PDO 和 Microsoft SQL:必须声明表变量“@P1”

    我正在尝试使用 PDO 中的绑定从 Microsoft SQL 数据库中选择一些条目 我正在使用的代码看起来与我在文档中找到的代码类似 但是 当我运行它时 我收到以下警告 警告 PDOStatement execute pdostateme
  • 从 Visual Studio 调试 SQL Server 2005 中的存储过程?

    我在这里和其他地方看到很多令人沮丧的问题 但没有明确的答案 我试图让存储过程进行调试 但没有成功 客户端 VS2005或VS2008 两者都不起作用 当我从存储过程上下文菜单中选择 步入存储过程 时 我在调试窗口中看到 已被用户取消 这就是
  • LINQ-to-SQL 是否支持组合查询?

    作为一名不懂 C 的程序员 我对 LINQ 查询的求值语义很好奇 如下所示 var people from p in Person where p age lt 18 select p var otherPeople from p in p
  • mysql变量赋值:如何强制赋值顺序?

    由于mysql是一种声明性语言 我找不到强制赋值变量顺序的方法 采取这个查询 SET v1 0 SET v2 0 SELECT v1 v2 FROM MyTable table WHERE v1 v2 is not null AND v2
  • oracle中如何让null等于null

    我有一个变量被传递到我的存储过程 它是一个过滤器 基本上 但是 该字段有时可能为空 如果是 我希望能够检查该字段为空的行 例如 Table A VALUE COLUMN FILTER COLUMN A NULL B NULL C NULL
  • 如何在不使用 DESCRIBE 命令的情况下描述 Oracle 中的表?

    我在上一门课时遇到了困难 我们需要编写一个 Oracle 脚本 其作用就像 DESCRIBE 命令一样 我们正在使用的这本书对如何使用数据字典的描述非常糟糕 不是寻找答案 而是寻找正确的方向 您正在寻找USER TAB COLUMNS ht
  • SQL COUNT(*) 返回错误答案

    以下脚本应返回部门名称以及这些部门中的员工人数 营销 行政和销售部门有 0 名员工 但返回值不是 0 而是 1 我怎样才能纠正它 select Department Departments DepartmentID count as Num
  • 获取 SQL 表上未使用的唯一值

    我有一个表 其中有一列描述数字 ID 该 ID 对于所有行都是唯一的 但它不是主键 数字 ID 是有限的 假设答案可以是从 1 到 10 SELECT ID FROM TABLE ID 1 2 5 我必须 通过 UI 向用户呈现未使用的值
  • 获取SQL中前2个特殊字符之间的字符

    我有数据在sql 只是要注意 SQL STudio is the IDE like data a 10 b c a 1 b c 我想获取前两个符号之间的数据 Output 10 1 这就是我的方法 SELECT CAST
  • 左连接 SQL 求和

    我有两张桌子想要加入 比如说表 a 和表 b 表 b 有许多行指向表 a 表 b 包含价格 实际上是一个购物篮 所以我想要的是表a中的所有记录和表b中的价格之和 我努力了 select a sum b ach sell from booki
  • Linq-to-entities,在一个查询中获取结果+行数

    我已经看到了有关此事的多个问题 但它们已经有 2 年 或更长 的历史了 所以我想知道这方面是否有任何变化 基本思想是填充网格视图并创建自定义分页 所以 我还需要结果和行数 在 SQL 中 这将类似于 SELECT COUNT id Id N

随机推荐

  • 允许 VB.NET 应用程序将 Excel 文件转换为数据表

    我的 VB NET 应用程序目前允许我将 CSV 文件转换为数据表 这要归功于以下提供的代码David在这个问题中我发布了 上一个问题 现在我尝试允许将 XLSX 文件导入到数据表中 目前代码如下所示 Private Function Co
  • 在 PostgreSQL 中,关于 citext 性能的奇怪问题?

    In PostgreSQL 手册它说citext只是一个实现的模块TEXT调用的数据类型LOWER citext模块提供了不区分大小写的字符串类型 citext 本质上 它在比较值时在内部调用 lower 否则 它的行为几乎与文本完全相同
  • 如何在iOS中动态解析JSON

    我们使用了第三方服务 它提供了一个 JS 文件 js文件发起http请求 得到一个json 我们解析json 得到了我们想要的内容 但是json格式总是在变化 有没有办法解析 json 但不更新我们的应用程序 不断更改架构听起来非常愚蠢 但
  • 使用 IN 和 python 列表构建 SQL 查询字符串

    我建立了一个对熊猫感兴趣的价值观列表 table1 pd read csv logswithIPs csv cips data dash ip unique tolist print cips 10 111 111 111 111 123
  • Hibernate、iBatis 还是其他?

    在我的项目中 我需要在运行时在数据库之间切换 我尝试使用 Hibernate 但陷入了一个需要将对象与数据库中的表映射的地方 问题是 我有几个带有前缀的表 documents2001 documents2002 据我所知 我无法在运行时将类
  • 如何用 R 绘制风向和风速(速度图)

    基本上我有两个矩阵 u和v 的列表 其中包含经度和纬度方向的风速 以及包含坐标的向量x和y 我想制作一张带有指向结果方向的箭头的地图 其大小与风速成正比 这个问题之前有人问过 http www mail archive com 电子邮件受保
  • plotly.js 中是否可以有水平颜色条

    我正在plotly js 中使用等值线图 有没有办法让颜色条比例在图表底部水平显示 而不是沿右侧或左侧垂直显示 作为参考 请查看 Plotly 站点上给出的第一个示例https plot ly javascript choropleth m
  • dw、db 和 是什么意思? (问号)TASM 结构中的意思是什么?

    我是装配新手 现在我想弄清楚dw db and 意思是在一个struc 例如这里 struc segment descriptor seg length0 15 dw base addr0 15 dw base addr16 23 db f
  • 如何让 R 接受自签名证书

    我有使用 RGoogleAnaytics 包的以下代码 require RGoogleAnalytics client id lt XX client secret lt YY token lt Auth client id client
  • 选择 Linq 分组依据的特定列

    我有一个嵌套的 ListView 有点像这个 http mattberseth com blog 2008 01 building a grouping grid with html 以及以下 Linq 查询 var query from
  • PHP foreach() 仅返回最后 50 项

    我当前正在使用以下 PHP 代码来返回 htm 文件的输出并对其进行格式化
  • 我可以从 .gradle 文件中的 groovy 方法调用 gradle 任务吗?

    我在 gradle 中有一个非常规的构建脚本 它可以循环编译项目 更改为标准 gradle 构建需要几周的时间 所以现在不会发生这种情况 问题是我想停止在脚本中使用 ant 并转而仅使用 groovy gradle 问题是如何更改复制等任务
  • 使用 VBA for Excel 从大范围单元格中删除“额外”空格(超过 1 个)的更快方法

    如何从包含文本字符串的大范围单元格中更快地删除多余空格 假设有 5000 个细胞 我尝试过的一些方法包括 For Each c In range c Value Trim c Value Next c and For Each c In r
  • 你会如何解析 Markdown? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 编辑 我最近了解了一个名为
  • C# 停止执行直到事件发生

    我需要停止执行程序 直到用户单击按钮 我正在进行离散事件模拟 现在的目标是提供简单的图形来说明情况 当模拟达到值得展示的事件时 将调用绘制情况的方法 我需要该方法在用户单击按钮之前不跳回到模拟核心 只有在到达有趣的点时才再次调用 您可以创建
  • ANTLR 中的浮点文字和范围参数

    我正在开发 D 语言的解析器 当我尝试添加 切片 运算符规则时遇到了麻烦 你可以找到它的ANTLR语法here 基本上问题是 如果词法分析器遇到这样的字符串 1 2 它就会完全丢失 并且最终成为单个浮点值 因此像 a 10 这样的字符串的后
  • 对现有文件多次运行 blob 存储触发器

    我一直在使用一种方法 通过进入我的存储帐户并删除 azure webjobs host gt blobreceipts gt 函数应用程序名称 中找到的 blob 对相同文件多次运行存储触发器 gt Blob 触发器名称 我认为这就是我需要
  • 从 YouTube 数据 API 搜索查询中排除直播活动

    我正在使用 google api php client https github com google google api php client 仅搜索和检索 YouTube 上的视频 我知道您可以将名为 type 的查询标记设置为视频
  • “运算符不存在:整数=?”使用 Postgres 时

    我有一个简单的 SQL 查询 在 go 的 database sql 包提供的 QueryRow 方法中调用 import github com codegangsta martini github com martini contrib
  • 场景和步骤“获取最后更改”问题

    我有下表抽象了一些场景及其步骤 按 START DATE desc 排序 SCENARIO KEY STEP KEY START DATE END DATE PREVIOUS SCENARIO KEY PREVIOUS STEP KEY 1