当前位置:数据库 > Oracle >>

oracle中向一个表中的某个字段赋值 select cno,avg(cj) from card group by xsbh having avg(cj)>30;

提示不是group by表达式,若是去掉cno就是可执行的,cno在数据库表中就是一个字段
追问:这样虽然没有错误,但是还是达不到想要的结果哎~~~,若就像用xsbh来分组呢?怎么改啊?谢谢啦~~~
答案:除了聚集函数运算外,其它表达式必须包含在group by子句中,如:
select cno,avg(cj) from card group by xsbh,cno having avg(cj)>30
其他:select cno,avg(cj)
from card 
group by cno
having avg(cj)>30;
这个才是正确的SQL语句,因为根据聚合函数的应用,除了聚合函数字段之外的字段,都要写到
group by 中。所以你的group by xsbh是不对的,因为它没有出现在select 语句中。 

上一个:公司要做一个小网站,用sqlserver2005收费么,mysql,oracle都是怎么收费的,还有服务器托管哪家好
下一个:win2008r2 安装oracle 10G 85%的时候报错“ Enterprise Manager 配置失败”

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,