虽然从技术上讲不是重复的,但有没有办法删除只有一列不同的结果?希望保留最高百分比的行。
数据库: DB2
无论如何,我可以删除一个重复项,结果可能是这样的?:
ID| NAME | VALUE
1 | Test | 0.3455%
1 | Test2 | 0.435%
5 | Test | 0.3455%
5 | Test2 | 0.435%
示例数据:
ID | NAME | VALUE
42 | Water Fill Level | 0.78345%
42 | Valve Fill Level | 0.8546%
65 | Water Fill Level | 0.8934%
65 | Valve Fill Level | 0.93564%
发布于 2018-09-19 01:05:38
如果您有其他列,则可能需要:
select t.*
from (select t.*, row_number() over (partition by id, column1 order by column2 desc) as seqnum
from t
) t
where seqnum = 1;
发布于 2018-09-19 00:38:03
select id, column1, max(column2)
from table
group by id, column1
此查询获取每个id,column1的最大百分比。可以使用该查询创建一个新表,然后将该表重命名为原始表,以获得所需的结果。
发布于 2018-09-19 01:24:35
从技术上讲,您所要求的内容并不确定。假设你有
现在绝对不确定结果应该是什么(当你有3列时,有3种可能性)。尝试在你的方法中更全面。根据你特别想要的来编辑你的问题。
https://stackoverflow.com/questions/52391082
复制相似问题