最大值查询,求解!
TB A
A1 A2
B1业务 12
B3业务 14
B1业务 52
B2业务 16
B1业务 12
B2业务 82
B2业务 14
需要查询 列A1 某业务 的 最大值A2
结果如:
B3业务 14
B1业务 52
B2业务 82
[解决办法]
select * from tb twhere A2=(select max(A2) from tb where A1=t.A1)
[解决办法]
select A1,max(A2) 'maxA2'from TB group by A1
[解决办法]
select A1,max(A2)from A group by A1
[解决办法]
SELECT A1,A2 FROM (SELECT A1,A2,ROW_NUMBER() OVER (PARTITION BY A1 ORDER BY A2 DESC) AS RowIndex FROM TBA) XWHERE RowIndex=1
[解决办法]
use testgo-->>>苦苦的潜行者if object_id('tb') is not nulldrop table tbcreate table tb(A1 varchar(20),A2 int)insert tbselect 'B1业务',12 union allselect 'B3业务',14 union allselect 'B1业务',52 union allselect 'B2业务',16 union allselect 'B1业务',12 union allselect 'B2业务',82 union allselect 'B2业务',14 goselect A1,max(A2) as [最大量] from tbgroup by A1/*(所影响的行数为 3 行)A1 最大量----- ----B1业务 52B2业务 82B3业务 14*/godrop table tb
[解决办法]
如果仅仅是两个字段分组求最大,则直接分组,使用max即可,所以2楼效率高.