【问题标题】:Duplicated rows numbering重复行编号
【发布时间】:2021-09-07 11:56:38
【问题描述】:

我需要对行进行编号,以便具有相同 ID 的行号相同。例如:

甲骨文数据库。有什么想法吗?

【问题讨论】:

    标签: oracle oracle-analytics


    【解决方案1】:

    使用DENSE_RANK解析函数:

    SELECT DENSE_RANK() OVER (ORDER BY id) AS row_number,
           id
    FROM   your_table
    

    其中,对于样本数据:

    CREATE TABLE your_table ( id ) AS
    SELECT 86325 FROM DUAL UNION ALL
    SELECT 86325 FROM DUAL UNION ALL
    SELECT 86326 FROM DUAL UNION ALL
    SELECT 86326 FROM DUAL UNION ALL
    SELECT 86352 FROM DUAL UNION ALL
    SELECT 86353 FROM DUAL UNION ALL
    SELECT 86354 FROM DUAL UNION ALL
    SELECT 86354 FROM DUAL;
    

    输出:

    ROW_NUMBER ID
    1 86325
    1 86325
    2 86326
    2 86326
    3 86352
    4 86353
    5 86354
    5 86354

    db小提琴here

    【讨论】:

      猜你喜欢
      • 2015-10-26
      • 2015-10-30
      • 2018-01-26
      • 1970-01-01
      • 2012-02-18
      • 2017-05-28
      • 2015-02-12
      • 2017-06-20
      • 2013-03-22
      相关资源
      最近更新 更多