聚合函数和group by
聚合函数和group by
例如,我需要在A表里查询B C D 这3列
按B来分组,但是要计算C的和
select b d sum(c)
from a
group by ????
可以实现的吗?
刚开始学聚合函数和group by
好多东西想不明白
但是不知道怎么表达..........
求解
[解决办法]
create table a(B varchar(4),C int, D varchar(6))
insert into a
select 'q ',5, 'asd ' union all
select 'q ',6, 'qwe ' union all
select 'w ',7, 'ert ' union all
select 'e ',8, 'tgb '
select B, sum(C) as C
from a
group by B
B C
---- -----------
e 8
q 11
w 7
(3 row(s) affected)
如果按你的要求的话,D是检索不出来的
[解决办法]
如果 SELECT 子句 <select list> 中包含聚合函数,则 GROUP BY 将计算每组的汇总值。指定 GROUP BY 时,选择列表中任意非聚合表达式内的所有列都应包含在 GROUP BY 列表中,或者 GROUP BY 表达式必须与选择列表表达式完全匹配。
select B,Max(d) as d,sum(C) as c
from A
group by B