“未来的世界:方向比努力重要,能力比知识重要,健康比成绩重要,生活比文凭重要,情商比智商重要! ”
——清华大学校长留给毕业生的一段话
SQL语句中,Group by
上一篇 /
下一篇 2010-03-17 22:37:05
/ 个人分类:Sql
你的里面用到了Sum函数 这是个聚合函数 就必须要使用到group by 那么
其他非聚合函数的列都要加到group by 中去。
X\
Dh q!x&c7_!zT0rq&n4De2Cb0补充 有个折中的方法 可以不用写这么多
51Testing软件测试网Kvv2aUn%{A9}打个比方(你的例子太长,表太多,我自己找个简单的例子):
51Testing软件测试网$}8I6um
w+E!d|#IPma表
51Testing软件测试网$f)LBA&uid name
51Testing软件测试网2czBi+~TL1 jim
51Testing软件测试网XCA%t2[_dha2F2 kate
8^PY
uU9pEY2[9v QDk0l^-G0Rj*Q9D&L0b
6A%ciw5c5iv;k0id money
51Testing软件测试网Q f2C0h'O\`W%f1 100
s3c9k6p5f:uk01 40
51Testing软件测试网
e'K8H.HYczb2 40
#t$vJY+h02 50
51Testing软件测试网*oyKM/f!PkS我要求id name money
)w `k
\S Y [PP0按照你的写法是:
51Testing软件测试网F4V'f7h]_/fx2UI1Wselect a.id,a.name,sum(b.money)
ZE]V2M:lKQ`u0from a inner join b on a.id=b.id grop by a.id,a.name;
d8J;uO#U6~/ak02W:f%J%Fxh5s0这样group by 后面有2个
U!f(|4[kzN:^w0jey U.? \0而我的写法:
(|]n8V@e$`};I0select a.id,a.name,test.total from
M#\di1A0a inner join (select id,sum(money) as total form. b group by id)
test%Fa"kHY.\0on a.id=test.id;
BT(zck$ij*U0这样 group by 后面就只有一个列。
收藏
举报
TAG: