SQL语句中GROUP BY的问题

今天查询数据库时用到集合函数sum(drp),遇到问题:

百度后,确定如下问题:当select后面查询字段有sum(drp)以外的字段时,必须使用group by函数,对数据进行排序,且查询字段中除sum(drp)以外的字段都必须作为分组字段出现在group by后面。反过来,group by后面可以出现分组字段a(必须是查询表中的字段),但是a可以不是select后面的查询字段。

举例如下:

select sum(drp) from sljc_ylz_m  不会报错

select stcd,sum(drp) from sljc_ylz_m 报错:ora-00937:不是单分组函数

select stcd,sum(drp) from sljc_ylz_m group by stcd 不会报错

select stcd,stnm,sum(drp) from sljc_ylz_m group by stcd 报错:ora-00937:不是单分组函数

select stcd,stnm,sum(drp) from sljc_ylz_m group by stcd,stnm  不会报错

select stcd,sum(drp) from sljc_ylz_m group by stcd,stnm 当stnm属于表sljc_ylz_m中的字段时,不会报错。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。