怎样用最简单的方法,最好是只用查询语句查询出每个帐号等级最高的角色,每个帐号仅显示一个角色(注:真实数据会有很多个帐号,需考虑性能)
测试数据
帐号 角色 等级
testa char1 100
testa char2 100
testb char3 80
testb char4 30
testc char5 10
查询结果
帐号 角色 等级
testa char1 100
testb char3 80
testc char5 10
select [user],min(name),MAX(level) from [ReportServer$SATempDB].[dbo].[table] group by [user]
select tt.账号, t.角色, t.等级 from (select 账号, max(等级) m from TABLE1 group by 账号) tt left join (select 账号, min(角色) 角色, 等级 from TABLE1 group by 账号 ,等级) t on tt.账号 = t.账号 and tt.m = 等级
oracle 实现的