SQL,给连续的行加上标识序号

server/2024/10/18 14:15:57/

postgresql 数据库的表 tmp 有 2 个分组字段,source_id 和 event_user,将该表按 source_id 分组,组内按 event_date 排序后,event_user 相同的值会形成有序的小组:

idsource_idevent_userevent_date
11A05-03-2014
21A06-03-2014
31B07-03-2014
41B08-03-2014
51A09-03-2014
61A10-03-2014
71A11-03-2014
82A12-03-2014
92B13-03-2014
102A14-03-2014
112B15-03-2014
122B16-03-2014
现在要增加计算列SERIES_ID,在source_id内按顺序给每个有序小组加序号。
idsource_idSERIES_IDevent_userevent_date
111A05-03-2014
211A06-03-2014
312B07-03-2014
412B08-03-2014
513A09-03-2014
613A10-03-2014
713A11-03-2014
821A12-03-2014
922B13-03-2014
1023A14-03-2014
1124B15-03-2014
1224B16-03-2014

编写SPL代码:

A
1=post1.query("select id, source_id, SERIES_ID, event_user, event_date from data order by source_id,event_date")
2=A1.group@o(source_id).(~.group@o(event_user))
3=A2.conj@r(~.run( ~.run( SERIES_ID=get(1,#))))

A1:SQL取数,按source_id,event_date排序,其中SERIES_ID 为空。

A2:不排序,按source_id相邻的值分组,组内按 event_user 相邻的值再分小组。

A3:在大组内给每个小组赋予序号,合并各组到记录级。

SPL开源地址


http://www.ppmy.cn/server/105469.html

相关文章

打卡52天------图论(应用题)

一、孤岛的总面积 基础题目 可以自己尝试做一做 。 代码随想录 二、沉没孤岛 和上一题差不多,尝试自己做做 代码随想录 三、水流问题 需要点优化思路,建议先自己读题,相处一个解题方法,有时间就自己写代码,没时间就…

VIVO相机启动流程拆解

和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、启动阶段拆解概览 1. 启动阶段拆解表格 Camera 启动阶段拆机表格 S0 :System deliverInputEvent > activityStart 开始 S1 :Camera APP Camera…

【Android】Glide模块工作原理

Glide模块工作原理 每个Glide模块包含一个Decoder,和一个Transcoder Decoder负责将DataSource转换为对应的Resource Transcoder负责将对应的Resource,转换为Drawable GlideModule示例 这里以SVG为例,展示下GlideModule是如何定义的 cla…

15.CentOS7升级内核

升级内核 1.配置镜像源 vim /etc/yum.repos.d/elrepo.repo[elrepo] nameelrepo baseurlhttps://mirrors.aliyun.com/elrepo/archive/kernel/el7/x86_64 gpgcheck0 enabled12.备份 cd /etc/yum.repos.d/ mv local.repo repo.bak/ 3.清缓存 yum clean all 4.升级内核 yum ins…

大数据-99 Spark 集群 Spark Streaming DStream 文件数据流、Socket、RDD队列流

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

Ps:首选项 - 常规

Ps菜单:编辑/首选项 Edit/Preferences 快捷键:Ctrl K Photoshop 首选项中的“常规” General选项卡主要用于调整 Photoshop 的整体工作行为和用户体验。这些设置让用户可以根据个人习惯和工作流程定制软件的响应方式和界面布局,从而提高工作…

Wireshark

下面是Wireshark 4.2.1版本的命令行参数整理成表格的形式&#xff1a; 参数/选项说明-i <interface>指定捕获接口的名称或索引&#xff08;默认&#xff1a;第一个非回环接口&#xff09;-f <capture filter>libpcap过滤语法的包过滤-s <snaplen>包快照长度…

C++基础面试题 | C和C++的区别?

人生如逆旅&#xff0c;我亦是行人。 - 《临江仙送钱穆父》(苏轼) 2024.8.23 回答重点&#xff1a;C可以认为是C语言的超集&#xff0c;绝大部分C语言代码可以使用C运行 在设计思想上&#xff1a;面向过程 vs 面向对象 C是一种面向过程的编程语言&#xff0c;它侧重于函数和过程…