【问题标题】:Select Duplicate Row with Custom Amount Oracle选择具有自定义金额 Oracle 的重复行
【发布时间】:2019-01-11 00:13:08
【问题描述】:

在 [PERFORMANCE] 表中,某些行的 PERFORMANCE_INDICATOR 列具有相同的值。

ID | PERFORMANCE_INDICATOR                 | REALISASI |
---------------------------------------------------------
 1 | Compliance of Inventory Data Consumer | 90,91     |
 7 | Compliance of Inventory Data Consumer | 92,22     |
13 | Compliance of Inventory Data Consumer | 93,31     |
 9 | Migrasi ODF to FTM                    | 90,91     |
 3 | Migrasi ODF to FTM                    | 92,22     |
14 | Migrasi ODF to FTM                    | 93,31     |

我只想选择两个数据,每个重复数据都存在,如下所示:

ID | PERFORMANCE_INDICATOR                 | REALISASI |
    -----------------------------------------------------
 1 | Compliance of Inventory Data Consumer | 90,91     |
 7 | Compliance of Inventory Data Consumer | 92,22     |
 9 | Migrasi ODF to FTM                    | 90,91     |
 3 | Migrasi ODF to FTM                    | 92,22     |

我应该使用什么 SQL 语句来查找这些行? 感谢您的帮助。

【问题讨论】:

  • 你的问题很不清楚。请尝试更具体,并显示您已有的代码。
  • 为什么不是 93,31 的行???

标签: php sql oracle greatest-n-per-group


【解决方案1】:

使用解析 ROW_NUMBER 然后对其进行过滤:

with cte as (
    select your_table.*
           , row_number() over (partition by PERFORMANCE_INDICATOR order by ID) as rn
    from your_table
)
select ID, PERFORMANCE_INDICATOR, REALISASI
from cte
where rn <= 2
order by PERFORMANCE_INDICATOR, ID
/

【讨论】:

    猜你喜欢
    • 2020-08-16
    • 1970-01-01
    • 1970-01-01
    • 2014-02-02
    • 2015-03-17
    • 2020-10-18
    • 1970-01-01
    • 2020-09-02
    • 2021-10-25
    相关资源
    最近更新 更多