我使用的是Postgresql 13,我有一个类似于下面的表:
| 事件标识|时间戳记|
| - -|- -|
| 一个|2022年11月28日00:00:00|
| 一个|2022年11月28日00:00:10|
| 2个|2022年11月28日00:00:20|
| 2个|2022年11月28日00:00:30|
| 2个|2022年11月28日00:00:40|
| 三个|2022年11月28日00:00:50|
| 三个|2022年11月28日00:01:10|
| 一个|2022年11月28日00:01:20|
| 2个|2022年11月28日00时01分30秒|
| 2个|2022年11月28日00:01:40|
| 三个|2022年11月28日00时01分50秒|
| 三个|2022年11月28日00:02:10|
| 三个|2022年11月28日00:02:20|
| 四个|2022年11月28日00:02:30|
我需要根据时间戳顺序为event_id列获取单调递增的值。
| 事件标识|时间戳记|
| - -|- -|
| 一个|2022年11月28日00:00:00|
| 一个|2022年11月28日00:00:10|
| 2个|2022年11月28日00:00:20|
| 2个|2022年11月28日00:00:30|
| 2个|2022年11月28日00:00:40|
| 三个|2022年11月28日00:00:50|
| 三个|2022年11月28日00:01:10|
| 四个|2022年11月28日00:01:20|
| 五个|2022年11月28日00时01分30秒|
| 五个|2022年11月28日00:01:40|
| 六个|2022年11月28日00时01分50秒|
| 六个|2022年11月28日00:02:10|
| 六个|2022年11月28日00:02:20|
| 七个|2022年11月28日00:02:30|
理想情况下,我需要在一个select语句中完成这一操作,我尝试了很多不同的方法,但都没有达到我的要求。有什么建议吗?谢谢
2条答案
按热度按时间ecbunoof1#
您可以为相似
event_id
的每个“块”分配唯一的行号:See fiddle。
kiz8lqtg2#
每当event_id随时间戳的增加而更改时,使用设置为1的标志的运行总和尝试执行以下操作。