Sql server 查询以从表中按值获取最大日期..我的场景如下
我有一个表测试如下Sql server 查询以从表中按值获取最大日期..我的场景如下,sql-server,Sql Server,我有一个表测试如下 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
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的最大值(maxvalue)。谢谢
o/p:-
在这里,我对你们当前的o/p有点困惑。您的问题是
我想要每个revid、itemid的最大值(maxvalue)
,但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
请像这样使用-
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
你试过什么吗?
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