我有一个具有以下(部分)结构的表:
id_1 score_1 id_2 score_2
77 10 88 50
77 10 88 30
77 25 88 50
77 25 88 30
意思是, id
可以得到多个分数。
我想要的是留下那些 id
的组合是最大值 score
每个的 id
.
在上面提到的例子中,我只想留下下面一行:
id_1 score_1 id_2 score_2
77 25 88 50
我尝试使用self-join方法,但没有成功。
任何帮助都将不胜感激。
1条答案
按热度按时间p1tboqfb1#
如果需要所有组合,则需要执行完全联接,这取决于您的配置单元配置,您可能需要设置以下属性
此查询适用于您的案例。演示:
结果
顺便说一句,根据您的数据大小和id的分布情况,fulljoin可能需要一些时间。。
更新:更新答案以使用窗口函数alllowing为最大分数选择多个列