簡體   English   中英

Oracle SQL:顯示按列分組的行的行號

[英]Oracle SQL: Display row number for rows grouped by a column

我有以下數據集:

在此處輸入圖片說明

我想要的是這個結果:

在此處輸入圖片說明

我已經嘗試過使用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 

如果我的假設正確,那么您想按時間順序獲取個人的記錄。

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上顯示表名是一個壞習慣。 列名很好,但表名不是。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM