老板们,某个字段不连续会写,分组的这种咋写都不行,有老板给出个招呗
类别 流水号
类别 流水号
JISa 1
JISa 3
JISa 5
JISa 6
JISb 1
JISb 2
JISb 7
JISb 8
JISc 1
JISc 2
JISd 1
想输出
类别 流水号
JISa 1
JISa 3
JISb 2
oracle 分组不连续写法
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
10条回答 默认 最新
- 浩三爷 2023-08-24 09:34关注
要在Oracle数据库中实现类似的分组操作,你可以使用分析函数 LAG 来比较当前行和上一行的值,从而判断是否需要输出。以下是一个示例查询:
SELECT 类别, 流水号 FROM ( SELECT 类别, 流水号, LAG(流水号) OVER (PARTITION BY 类别 ORDER BY 流水号) AS 前一个流水号 FROM your_table ) WHERE 流水号 = 1 OR 流水号 - 前一个流水号 = 1;
在这个查询中,子查询使用了分析函数 LAG,它会在当前行中获取上一行的值。根据当前行的流水号和上一行的流水号,我们可以判断是否需要输出。
如果当前行的流水号是1,那么它是一个新的分组的开头,需要输出。
如果当前行的流水号与上一行的流水号差值为1,说明当前行是连续的,也需要输出。
将 your_table 替换为你的实际数据表名。执行这个查询后,你会得到需要的输出,其中每个分组的第一个记录和连续的记录都会被包含在结果中。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 HLs设计手写数字识别程序编译通不过
- ¥15 Stata外部命令安装问题求帮助!
- ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
- ¥15 TYPCE母转母,插入认方向
- ¥15 如何用python向钉钉机器人发送可以放大的图片?
- ¥15 matlab(相关搜索:紧聚焦)
- ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
- ¥15 路易威登官网 里边的参数逆向
- ¥15 Arduino无法同时连接多个hx711模块,如何解决?
- ¥50 需求一个up主付费课程