sql怎样分组?(100分)

  • 主题发起人 主题发起人 commanddos
  • 开始时间 开始时间
C

commanddos

Unregistered / Unconfirmed
GUEST, unregistred user!
select a.cpbh,a.pm,sum(b.sl) as sl ,b.price from jgb1 a,mzmx b,mzlsh c ;
where a.cpbh=b.cpbh and b.pzh=c.pzh group by a.cpbh
以上语句在sqlserver中用时,提示还要对a.pm,b.price进行分组,为什么?
 
select 后的字段必须出现在group by语句中
请看帮助
 
为什么必须出现在group by 语句中,小弟是个菜鸟,请多多指教
 
这是SQL语法所规定的,找本有关SQL的书来学学吧!
 
不是说SELECT之后的字段必须出现在group by语句中,而是说由你的SELECT选择出来的数据
没有一个规律性,或者说记录间字段值有区别,用GROUP语句进行分组。

 
在GROUP BY子句中不支持对列分配的假名,也不支持任何使用了统计函数的集合列。另外,
对SELECT后面每一列数据除了出现在统计函数中的列以外,都必须在GROUP BY子句中应用。
 
唉!来晚了.
 
SQL 语法,用聚合函数SUM时, 没有SUM的这字段都要GROUP BY
 
select a.cpbh,a.pm,sum(b.sl) as sl ,b.price from jgb1 a,mzmx b,mzlsh c ;
where a.cpbh=b.cpbh and b.pzh=c.pzh group by a.cpbh,a.pm,b.price
 
接受答案了.
 
后退
顶部