我心乱了,很苦恼,很高手解答select 课程号,avg(分数)
from 成绩表
where 课程号='030105'是不是错了??
应该写成这样?
select 课程号,avg(分数)
from 成绩表
where 课程号='030105'
group by 课程号
似乎有这样一句话???使用聚合函数就要用group by 又似乎不对,乱了乱了,以前学的知识之间打架了
我想可能是你理解的有问题
select 课程号,avg(分数)
from 成绩表
where 课程号='030105'
group by 课程号
如果select后面有非聚合函数的列就要用group by select avg(分数)
from 成绩表
where 课程号='030105'; 如果是这样就不用???
我心乱了,很苦恼,很高手解答
from 成绩表
where 课程号='030105'是不是错了??
应该写成这样?
select 课程号,avg(分数)
from 成绩表
where 课程号='030105'
group by 课程号
似乎有这样一句话???使用聚合函数就要用group by 又似乎不对,乱了乱了,以前学的知识之间打架了
我想可能是你理解的有问题
select 课程号,avg(分数)
from 成绩表
where 课程号='030105'
group by 课程号
如果select后面有非聚合函数的列就要用group by select avg(分数)
from 成绩表
where 课程号='030105'; 如果是这样就不用???
我心乱了,很苦恼,很高手解答
解决方案 »
- oracle 语句优化。有关联条件,但表在连接时还是merge join,建成临时表或变换表位置变成hash join 是什么原因
- 【问个查询问题】oracle数据查询
- 请问大家能给这段alert注释一下吗?谢谢!
- 请教:数据库字符集由WE8ISO8859P1改为ZHS16GBK(在线等待)
- oracle 报表统计
- 高分求简单问题>>sqlplus能登陆,但plsql却不能登陆.
- 一个oracle查询问题,请高手看看,在线等待消息
- 不生成日志的insert如何写
- 新手提问:又是一个查询问题,我思路又不对,恳请请各位指点。
- 帮我看看这个包的例子,怎么老是提示不对呀????
- 反复安装多次oracle 10g还是没有发现database configuration assistant啊?
- oracle的网络配置
select 课程号,avg(分数)
from 成绩表
where 课程号='030105'
例如:with tb_b as (
select 'a' subId,2 score from dual union all
select 'a' subId,6 score from dual union all
select 'b' subId,8 score from dual union all
select 'c' subId,4 score from dual union all
select 'c' subId,3 score from dual union all
select 'c' subId,5 score from dual)select avg(score) from tb_b where subId='a';楼主第一句sql,因为检索了[课程号],当然就不对了
楼主的第二句sql是正确的。
你说的,是正确的。
group by 不允许出现在where之中,但是允许出现在where子句后面,正如您的第二局sql。
这样就解释了你的疑惑。很多人都经历过这样的疑惑。
--员工信息表
SELECT t.deptno,SUM(t.sal) FROM emp t
WHERE t.deptno='20'
GROUP BY t.deptno
或者是
--员工信息表
SELECT SUM(t.sal) FROM emp t
WHERE t.deptno='20'
我也不知当时我是怎么想的
select avg(分数)
from 成绩表
where 课程号='030105'如果加上课程号列的话,会存在两列行数不对应问题,avg(分数)是一行,而课程号可能是多行
SELECT 课程号,AVG(分数)
FROM 成绩表
GROUP BY 课程号 HAVING 课程号='030105';
from 成绩表
where 课程号='030105'select 后面出现了课程号,意思是按照课程号来分组求平均数。
所以你必须group by 课程号,否则逻辑上是有问题的。select avg(分数)
from 成绩表
where 课程号='030105'
这没有问题的原因在于,你是对所有的课程求平均分,或者摸一个课程的平均分。返回一个值,当然就不用分组了。