我有以下数据集:
我想要这个结果:
我尝试使用DENSE_RANK,但是速度很快。我已经阅读了一些堆栈溢出页面,但由于无法进行任何操作,现在正盯着一张空白纸。
有什么想法吗?指针?
编辑
到目前为止,这似乎还可以-有明显的问题吗?
SELECT Person_id,
PERSON_NUMBER,
EFFECTIVE_START_DATE,
EFFECTIVE_END_DATE,
ROW_NUMBER() OVER (PARTITION BY Person_id ORDER BY Person_id) YEAH
FROM PER_ALL_PEOPLE_F
答案 0 :(得分:0)
如果我的假设正确,那么您想按时间顺序获取个人的记录。
SELECT
PERSON_ID,
PERSON_NUMBER,
EFFECTIVE_START_DATE,
EFFECTIVE_END_DATE,
ROW_NUMBER() OVER(
PARTITION BY PERSON_ID
ORDER BY
EFFECTIVE_START_DATE
) YEAH
FROM
<YOUR TABLE>
ORDER BY PERSON_ID, YEAH
注意: 我知道这张桌子,甚至在上面工作。 请编辑您的问题,然后从问题中删除表名。在WEB上显示表名是一个坏习惯。列名很好,但表名不是。