Sql Server 查询,一共三列,怎样查出第一个列值相同,第二列值最大的第三列的值?

a1a2taborder1a12a23b54b65b86c9想查出a2相同的情况下,taborder值最大的a1值,谢谢啦就是当a2=a时,查出a1=2;a2=b时,查出... a1 a2 taborder
1 a 1
2 a 2
3 b 5
4 b 6
5 b 8
6 c 9

想查出a2相同的情况下,taborder 值最大的a1值,谢谢啦
就是当a2 = a 时,查出a1 = 2; a2 = b 时,查出 a1 = 5.
把所有不同的a2列都显示出来,能不能用foreach?
展开
 我来答
WHITE_WIN
2013-05-17 · TA获得超过6111个赞
知道大有可为答主
回答量:3759
采纳率:50%
帮助的人:1905万
展开全部
这是一个很典型的,经常用到的,可以归纳为:
《按某列分组,求另一列最大或最小值所在整行数据的方法》
利用子查询,试一下,很好用的(a1可根据需要去掉):
select a2,a1 from tablename where
taborder=(select max(taborder) from tablename a where a.a2=tablename.a2)
查出结果为
a,2
b,5
c,6
thain0
2013-05-17 · TA获得超过267个赞
知道小有建树答主
回答量:597
采纳率:0%
帮助的人:528万
展开全部

用个sql就可以了

select B.a1, B.a2, B.taborder
 from
(
    select A.a2, max(A.a1) a1
     from table A
     group by A.a2
) A, table B
Where A.a2 = B.a2
and     A.a1 = B.a1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f9f2af3
2013-05-17 · TA获得超过357个赞
知道小有建树答主
回答量:385
采纳率:0%
帮助的人:238万
展开全部
select a2,max(a1) a1 from 表 group by a2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式