问题如下:
ID value Name
001 33 A001
001 55 A001
002 66 B
003 88 c
…… …… ……
如何得到如下结果:
ID value Name
001 55 A001
002 66 B
003 88 c
…… …… ……
请教大家如何求的 相同ID 最大值value 的Name ?
...全文
795打赏收藏
求解一个查询问题
问题如下: ID value Name 001 33 A001 001 55 A001 002 66 B 003 88 c …… …… …… 如何得到如下结果: ID value Name 001 55 A001 002 66 B 003 88 c …… …… …… 请教大家如何求的 相同ID 最大值value 的Name ?
[Quote=引用 1 楼 hebo2005 的回复:]
select aa.id,aa.value,aa.name
from
(
select a.id,a.value,a.name,row_number() over(partition by a.id order by a.value desc) rn
from a
) aa
where aa.rn=1
[/Quote]
二楼的也行.
select a.id,max(a.value) as value,a.name
from table_name a
group by a.id,a.name
[Quote=引用 1 楼 hebo2005 的回复:]
select aa.id,aa.value,aa.name
from
(
select a.id,a.value,a.name,row_number() over(partition by a.id order by a.value desc) rn
from a
) aa
where aa.rn=1
[/Quote]
select aa.id,aa.value,aa.name
from
(
select a.id,a.value,a.name,row_number() over(partition by a.id order by a.value desc) rn
from a
) aa
where aa.rn=1