逻辑上不对,不过应该可以用 select max(a),b,sum(qty) from table group by b; 有所悖离你的意愿
如果想要“a”,你就必须在Group by带上a ,不然违反了group by的语法。 如果b的值是唯一的话,你可以使用一楼的那个语句,另外也可以这样:select b,qty from (select a,b,sum(qty) qty from table group by b,a)
去掉“A”之后,你的select a,b,sum(qty) qty 中的A打算显示什么值呢?select max(a),b,sum(qty) from table group by b;
select max(a),b,sum(qty) from table group by b; --这个操作将不会得到LZ想要的结果,因为会过滤掉一些结果
如果a b是一一对应的话,那么可以使用 select max(a),b,sum(qty) from table group by b; 如果 a b 不是一一对应的话,只能使用子查询模式 select b,qty from table, (select b,sum(qty) qty from table group by b) tbl1 where table.b= tbl1.b
select max(a),b,sum(qty) from table group by b;
有所悖离你的意愿
如果想要“a”,你就必须在Group by带上a ,不然违反了group by的语法。
如果b的值是唯一的话,你可以使用一楼的那个语句,另外也可以这样:select b,qty from
(select a,b,sum(qty) qty
from table group by b,a)
select max(a),b,sum(qty) from table group by b;
--这个操作将不会得到LZ想要的结果,因为会过滤掉一些结果
如果 a b 不是一一对应的话,只能使用子查询模式
select b,qty from table,
(select b,sum(qty) qty
from table group by b) tbl1
where table.b= tbl1.b