select * from table
name1 4 o
name1 5 x
name1 3 x
name2 3 x
name3 2 x
我有以上结果,name1的值为3,4和5 我想得到如下结果,如果同一个名称有多个值,那么标记'O'的位置就是名字。
name1 4 o
name2 3 x
name3 2 x
请帮忙!
答案 0 :(得分:1)
您可以使用row_number
选择ox
列的最低值,例如:
select *
from (
select *
, row_number() over (partition by name order by ox asc) as rn
from YourTable
) as SubQueryAlias
where rn = 1
子查询是必需的,因为您无法在row_number
子句中直接使用where
。