首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL过程/ MySQL函数

MySQL过程/ MySQL函数
EN

Stack Overflow用户
提问于 2020-02-04 20:01:45
回答 2查看 35关注 0票数 0

我对MySQL还是比较陌生的,对数据工程还不太熟悉。

我有一张表,上面有:

代码语言:javascript
复制
Event_ID, Minutes, EventCode

我有多个行,它们具有相同的事件代码( Event_ID )和发生了什么事件(eventcode),以及时间(分钟)。

我想要做的是将基于event_id分钟的事件序列输出到新表中:

例如:

来源:

代码语言:javascript
复制
Event_ID,   Minutes, EventCode
12,         45,         A
12,         49,         B
12,         78,         A

将WOuld转换为:

代码语言:javascript
复制
12, 45, A, 1
12, 49, B, 2
12, 78, B, 3

因此,最后一列显示了序列。虽然可以确定源表是按event_id排序的,但如果可能的话,我更希望解决方案是不排序的。

一些指针会很棒的!

谢谢

EN

回答 2

Stack Overflow用户

发布于 2020-02-04 20:08:38

在MySQL 8和更高版本中,您可以使用row_number()窗口函数。

代码语言:javascript
复制
SELECT event_id,
       minutes,
       eventcode,
       row_number() OVER (PARTITION BY event_id
                          ORDER BY minutes)
       FROM elbat;
票数 3
EN

Stack Overflow用户

发布于 2020-02-04 21:09:37

尝试此查询:select event_id, minutes, eventcode, @rownum:=@rownum+1 No from elbat, (SELECT @rownum:=0) r;

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60056995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档