选择具有自定义金额 Oracle 的重复行
Posted
技术标签:
【中文标题】选择具有自定义金额 Oracle 的重复行【英文标题】:Select Duplicate Row with Custom Amount 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 的行??? 【参考方案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
/
【讨论】:
以上是关于选择具有自定义金额 Oracle 的重复行的主要内容,如果未能解决你的问题,请参考以下文章
AndroidTV - 为 X 行自定义 ListRow。失去焦点