暂无图片
请教个SQL
我来答
分享
刘晓华
2023-12-21
请教个SQL
暂无图片 5M

    有一表table_a,两个字段emid,dt,分别是工号和日期,需生成一个序号,按工号如果日期连续序号1,2,3...不连续就重新从1开始排,下图是例子,怎么生成这列?



我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
广州_老虎刘

with tmp1 as

(select a.*, dt-row_number() over (partition by emid order by dt) as dt_flag

from table_a a)

select b.emid,b.dt,row_number() over (partition by emid,dt_flag order by dt) as no

from tmp1 b

暂无图片 评论
暂无图片 有用 14
打赏 0
暂无图片
刘晓华
题主
2023-12-22
试过OK,谢谢刘老师
chengang
2023-12-22
这个技巧好。
user-yy

SELECT
emid,dt,
CASE
WHEN dt - LAG(dt, 1, dt) OVER (PARTITION BY emid ORDER BY dt) = 1
THEN DENSE_RANK() OVER (PARTITION BY emid ORDER BY dt)
ELSE ROW_NUMBER() OVER (PARTITION BY emid ORDER BY dt)
END AS sequence_number
FROM
table_a
ORDER BY
emid, dt;

。。。。。oracle

暂无图片 评论
暂无图片 有用 1
打赏 0
刘晓华
题主
2023-12-21
不对,是日期不连续,就重新开始从1排序,dense_rank不是这意思
回答交流
Markdown


请输入正文
提交
相关推荐
ORA-04030故障
回答 1
检查mmontrace是否消耗大量内存,可能遇到bug了,workaround:altersystemset“ashsize”67108864scopespfile;altersystemseteve
oracle dg切换出现lobindex坏块
回答 1
如果有备份,可以基于块恢复来recover。这是awr的表,即便没有备份,对用户数据没有影响。
除了 ALTER SESSION,还有哪些方法可以在 Oracle 中切换到特定的 PDB?
回答 2
已采纳
使用SQLPlus命令在SQLPlus中,可以通过设置环境变量ORACLESID来切换到特定的PDB。不过这种方法有一定的局限性,并且可能会受到操作系统和数据库配置的影响。首先需要知道PDB的服务名。
在维护oracle的过程中,各位最大的表有多大?
回答 7
已采纳
生产中没有太大的表,变大后都拆分,挪历史库了单表太大不好维护
AWR分析报告问题求助:PGA memory operation 这个等待事件怎么详细追踪下
回答 2
你发的报告中没有这个PGAmemoryoperation呀
大家的Oracle备份环境中,是否建设有Catalog数据库用于存放备份记录啊?
回答 1
已采纳
看需求,可以用控制文件来记录,也可以用catalog方式存储;当数据量大或者数据变化频繁,推荐使用catalog方式;减少控制文件带来的磁盘压力和隐患;
生产环境trc文件出现 process J000 is dead 是什么问题?期间 客户端连接提示:ORA-27102
回答 5
看看这篇文章是否有帮助:https://blog.csdn.net/as1123671649/article/details/132058817
linux7.9+Oracle11gR2 RAC 如何配置ogg高可用?
回答 2
先做acfs,将盘分别挂载到rac节点指定目录,并调整权限在指定目录上安装ogg将ogg服务加入到crs集群服务中去。启动ogg相关服务。
异地DG正常出现 archive log lock是网络异常引起的?
回答 4
暂无文字回复
oracle11.2.0.4 RAC 日志总有告警
回答 1
tomcat连接池中初始化、最小、最大session的数量配置为同一个数字。
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~