数据源:
id data1 data2
1 1 4
2 1 5
3 2 6
4 2 7
我需要找到data2 max和相同的data1。我希望回归:
data1 id data2
1 2 5
2 4 7
我尝试:select data1, id, max(data2) from table1 group by data1, id
。
但这是错误的。
还有其他办法吗?
答案 0 :(得分:0)
包括DB2在内的大多数数据库都支持ANSI标准窗口函数。所以一个典型的方法就是:
select id, data1, data2
from (select id, data1, data2, max(data2) over (partition by data1) as max_data2
from t
) t
where data2 = max_data2;
答案 1 :(得分:0)
试试这个
select data1, id, data2
from table1 t
where data2 = (select max(data2) from table1 where data1 = t.data1)
order by data1