【发布时间】:2012-05-16 17:02:39
【问题描述】:
我有一些数据的格式在这个 sqlfileddle 中描述:http://sqlfiddle.com/#!4/b9cdf/2
基本上,一个带有用户 ID 和事件发生时间的表。我想做的是根据用户发生的时间来计算事件。所以,一个看起来像这样的表:
UID Timestamp
-----------------
01 01-APR-12
01 01-APR-12
02 02-APR-12
03 05-APR-12
01 10-APR-12
02 11-APR-12
03 15-APR-12
01 20-APR-12
我希望它根据事件发生的顺序为事件分配一个数字等级。因此,这意味着上表将变为:
UID Timestamp Rank
--------------------------
01 01-APR-12 1
02 02-APR-12 1
03 05-APR-12 1
01 10-APR-12 2
02 11-APR-12 2
03 15-APR-12 2
01 20-APR-12 3
有没有办法在 Oracle SQL 中做到这一点?还是我必须将其转换为脚本语言并从那里获取?
谢谢!
【问题讨论】:
-
我认为你需要一个光标
-
我就是这么想的。我从来没有写过游标循环,并且很难找到关于如何在考虑到这种类型的目标的情况下这样做的文档。有什么建议吗?
标签: sql oracle analytic-functions