我有一个表测试,如下所示
itemid revid max_value
1 a 1000
1 a 2000
1 b 3000
2 a 9000
2 b 2000
3 c 7000
3 d 1000
3 e 2000
4 a 500
4 b 20000
5 a 12000
5 c 14000
现在我想获取如下数据。
这里我想要每个revid,itemid的max(maxvalue)。感谢。
O / P: -
itemid revid maxvalue
1 b 3000
2 a 9000
3 c 7000
4 b 20000
5 c 14000
答案 0 :(得分:0)
这里我对你当前的o / p很少感到困惑。您的问题是i want the max(maxvalue) of each revid, itemid
但是O / P似乎是
select * from
(
select *,
row_number() over (partition by itemid order by max_value desc) row_no
from table
) t
where row_no = 1
答案 1 :(得分:0)
请像这样使用 -
SELECT a.*
FROM yourtableName a
INNER JOIN
(
SELECT itemid , MAX(max_value) mxy
GROUP BY itemid
)k ON k.mxy = a.maxvalue AND k.itemid = a.itemid