Oracle 减少字段重复的结果集
Oracle reduce result set on field duplication
我在 Oracle (12c) 中有一个 select 的结果集如下:
GROUP_ID NAME ORDERING
1 AA 0
1 AA 1
1 AB 2
1 AC 3
2 BA 1
2 BA 2
2 BB 3
2 BC 4
我不知道如何减少结果集以删除基于一列的行,同时保留其他字段。预期结果如下所示:
GROUP_ID NAME ORDERING
1 AA 1
1 AB 2
1 AC 3
2 BA 2
2 BB 3
2 BC 4
我尝试使用 group by
来解决它,但它摆脱了必需的字段排序。我不是 window functions
方面的专家,但我认为使用它可能是一种有效的尝试。
从你的数据来看,你好像只需要:
select group_id, name, max(ordering)
from yourTable
group by group_id, name
我在 Oracle (12c) 中有一个 select 的结果集如下:
GROUP_ID NAME ORDERING
1 AA 0
1 AA 1
1 AB 2
1 AC 3
2 BA 1
2 BA 2
2 BB 3
2 BC 4
我不知道如何减少结果集以删除基于一列的行,同时保留其他字段。预期结果如下所示:
GROUP_ID NAME ORDERING
1 AA 1
1 AB 2
1 AC 3
2 BA 2
2 BB 3
2 BC 4
我尝试使用 group by
来解决它,但它摆脱了必需的字段排序。我不是 window functions
方面的专家,但我认为使用它可能是一种有效的尝试。
从你的数据来看,你好像只需要:
select group_id, name, max(ordering)
from yourTable
group by group_id, name