请问一个SQL语句的写法(效率优先)有一张表有字段A(主键),B,C
我想找A和B都最大的那条数据,也就是说先看B字段最大的那条数据,如果B字段最大的那条数据
有多条,就看A字段比较大的那一条,请问该怎么写?
A B C
---------
1 2 aaa
2 2 bbb
3 3 ccc
4 3 ddd
5 1 eee
6 2 fff我想要的数据是第四条
4 3 ddd
我想找A和B都最大的那条数据,也就是说先看B字段最大的那条数据,如果B字段最大的那条数据
有多条,就看A字段比较大的那一条,请问该怎么写?
A B C
---------
1 2 aaa
2 2 bbb
3 3 ccc
4 3 ddd
5 1 eee
6 2 fff我想要的数据是第四条
4 3 ddd
你可以试试
select top 1 * from tb order by a desc,b desc
与你所想的用MAX函数的运行速度哪个更快一些.
select A,B,C from tb
where A=(select max(a.A) from
(select A,B,C from @tb
where B=(select max(B) from @tb)
) a
)
这个要好