首页 > 开发 > 综合 > 正文

SQL语句:按a列分组后b列最大的所有列记录

2024-07-21 02:42:08
字体:
来源:转载
供稿:网友
示例:test 表 a b c

1 5 abc 2 6 bcd 1 7 ade 2 8 adc

若取按a列分组后,b列最大,的所有列的记录:

result a b c 1 6 bcd 2 8 adc

可以使用如下语句:

select * from test where b in (select max(id) from test group by a)

适用于所有数据库:

select   t1.a,t1.b,t1.c from   test   t1   inner   join (seelct   a,max(b)   as   b   from   test   group   by   a)   t2   on   t1.a=t2.a   and   t1.b=t2.b

适用于所有数据库:

select   a,b,c from( select   a,b,c ,row_number()over(partition   by   a   order   by   b   desc)   rn from   test )   where   rn=1

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表