作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/01 14:48:15
Sql Server 查询,一共三列,怎样查出第一个列值相同,第二列值最大的第三列的值?
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?
这是一个很典型的,经常用到的,可以归纳为:
《按某列分组,求另一列最大或最小值所在整行数据的方法》
利用子查询,试一下,很好用的(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