“未来的世界:方向比努力重要,能力比知识重要,健康比成绩重要,生活比文凭重要,情商比智商重要! ”    ——清华大学校长留给毕业生的一段话

SQL语句中,Group by

上一篇 / 下一篇  2010-03-17 22:37:05 / 个人分类:Sql

你的里面用到了Sum函数 这是个聚合函数 就必须要使用到group by  那么其他非聚合函数的列都要加到group by 中去。
X\ Dh q!x&c7_!zT0
rq&n4De2Cb0补充 有个折中的方法 可以不用写这么多51Testing软件测试网Kvv2aUn%{A9}
打个比方(你的例子太长,表太多,我自己找个简单的例子):51Testing软件测试网$}8I6u m w+E!d|#IPm
a表51Testing软件测试网$f)LBA&u
id name51Testing软件测试网2cz Bi+~TL
1   jim51Testing软件测试网XCA%t2[_dha2F
2   kate
8^PY uU9pEY2[9v QDk0
l^-G0Rj*Q9D&L0b
6A%ciw5c5i v;k0id  money51Testing软件测试网Qf2C0h'O\`W%f
1    100
s3c9k6p5f:uk01    4051Testing软件测试网 e'K8H.HYczb
2    40
#t$vJY+h02    5051Testing软件测试网*oyKM/f!PkS
我要求id name money
)w `k \S Y [PP0按照你的写法是:51Testing软件测试网F4V'f7h]_/fx2UI1W
select 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~/ak0
2W:f%J%Fxh5s0这样group by 后面有2个
U!f(|4[kzN:^w0
jey 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:

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-05  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 58215
  • 日志数: 103
  • 图片数: 4
  • 文件数: 2
  • 建立时间: 2007-05-20
  • 更新时间: 2010-11-23

RSS订阅

Open Toolbar