(急)如何根据字段的值取某一字段的最大值

dyss 2010-10-28 01:33:13
字段A 字段B



a 0
a 12
b 11
b 10



要求结果:
字段A 字段B


a 12
b 11

谢谢
...全文
261 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
wing7742 2010-10-31
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 jeansy911 的回复:]
SQL code

--用max()函数的方法:
select 字段A ,max(字段B) from table group by 字段A
--不用max()函数的方法:
select * from table as a where not exists(select * from table where a.字段A=字段A and a.字段B<字段B)
[/Quote]





QingT26 2010-10-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 stone840824 的回复:]
select 字段A,max(字段B)
from table
group by 字段A
[/Quote]

这条不错,我试过了行
dawugui 2010-10-30
  • 打赏
  • 举报
回复 1
这是个送分题,我也分一羹。

--如果只有这两个字段,则直接分组求MAX即可:
select 字段A ,max(字段B) 字段B from tb group by 字段A

--如果不止这两个字段,则如下:
select t.* from tb t where 字段B = (select max(字段B) from tb where 字段A = t.字段A)

select t.* from tb t where not exists (select 1 from tb where 字段A = t.字段A and 字段B > t.字段B)
kevn 2010-10-30
  • 打赏
  • 举报
回复
顶楼上所有
hch126163 2010-10-30
  • 打赏
  • 举报
回复
select 字段A ,max(字段B) from table group by 字段A
abuying 2010-10-30
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 dawugui 的回复:]

这是个送分题,我也分一羹。

--如果只有这两个字段,则直接分组求MAX即可:
select 字段A ,max(字段B) 字段B from tb group by 字段A

--如果不止这两个字段,则如下:
select t.* from tb t where 字段B = (select max(字段B) from tb where 字段A = t.字段A)

select t.……
[/Quote]
顶!!
dyss 2010-10-29
  • 打赏
  • 举报
回复
hehe 散分
siegebaoniu 2010-10-28
  • 打赏
  • 举报
回复
max+group by........100分
jeansy911 2010-10-28
  • 打赏
  • 举报
回复

--用max()函数的方法:
select 字段A ,max(字段B) from table group by 字段A
--不用max()函数的方法:
select * from table as a where not exists(select * from table where a.字段A=字段A and a.字段B<字段B)
孤影No1 2010-10-28
  • 打赏
  • 举报
回复
同意楼上各位,我也来分点分
叶子 2010-10-28
  • 打赏
  • 举报
回复

declare @table table (字段A varchar(1),字段B int)
insert into @table
select 'a',0 union all
select 'a',12 union all
select 'b',11 union all
select 'b',10

select 字段A,max(字段B) as 字段B from @table group by 字段A

/*
字段A 字段B
---- -----------
a 12
b 11
*/
wgqqgw 2010-10-28
  • 打赏
  • 举报
回复
严重同意楼上各位

这不明显在晒分吗~~
黄_瓜 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 beirut 的回复:]
SQL code
select * from tb t where 字段B=(select max(字段B) from tb where 字段A=t.字段A)
[/Quote]
就俩字段呀。。。。。。。。

select 字段A ,max(字段B) from table group by 字段A
黄_瓜 2010-10-28
  • 打赏
  • 举报
回复
select * from tb t where 字段B=(select max(字段B) from tb where  字段A=t.字段A)
xuam 2010-10-28
  • 打赏
  • 举报
回复
select 字段A ,max(字段B) from table group by 字段A
Stone19840824 2010-10-28
  • 打赏
  • 举报
回复
select 字段A,max(字段B)
from table
group by 字段A

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧