读书人

聚合函数和group by,该怎么解决

发布时间: 2012-01-16 23:36:51 作者: rapoo

聚合函数和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

读书人网 >SQL Server

热点推荐