请教一个SQL语句

有a, b, c三列:
a b c 1 1 1 1 2 2 1 1 3
我想得到
1 1 3

也就是说,按照c最大(max(c)),同时a唯一(unique(a)

如果只是c最大(max(c)),可以
select a, b, max(c) from sometable group by a, b
但那样会让<a, b>唯一,我只想让a唯一

阅读 3k
3 个回答

试了试Oracle的Row_Number():
select * from ( select a, b, c, Row_Number() Over (Partition BY a Order By c DESC) rn from sometable ) where rn = 1;

select a, b, max(c) from sometable group by a

Select Tt.a, Tt.b, Tt.c
  From Temp_Test Tt
 Right Join (Select a, Max(c) Mx_c From Temp_Test Group By a) Tt1
    On Tt.a = Tt1.a
   And Tt.c = Tt1.Mx_c

不知道这个是不是你想要的,

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进