SQL分组查询的一个问题不太会写

如图表格,实在不知道sql怎么写了,小白一枚,求大来解答~
图片说明

select name, max(v1) from table group by name

select table.* from table
inner join(
select name,max(v1) from table group by name) a
on table.name=a.name and table.v1=a.v1

不知道你用什么数据库,mysql是这样,其他数据库也有类似的方式。
select * from table t1 where t1.v1 in (
select max(t2.v1) from table t2 where t2.name=t1.name
)

SELECT *
FROM tbl_tmp a
WHERE exists(
SELECT name,max(v1) AS mxV1
FROM tbl_tmp b
GROUP BY NAME
HAVING a.name=b.name AND a.v1=max(b.v1)
)