哇塞,在找关于赵强老师今晚在课堂上提出来的关于Oracle表自连接的缺点及解决方法时,碰巧就找到赵强老师本人解答的视频了。厉害厉害,讲的依旧清晰明了!明白了。赞!
2018-04-20
select deptno ,avg(sal)
from emp
group by deptno
having ave(sal) > 2000
from emp
group by deptno
having ave(sal) > 2000
2018-04-19
select deptno ,avg(sal)
from emp
group by deptno ; --按照部门编号分组
select a,b,c ,组函数(x)
from table
group by a ; --这里应该写a,b,c 不能只写a 通过部门号 然后通过b c条件接着分组
只写a ora-00937 非法使用分组函数
在select 列表中所有未包含的组函数中的列 group by中都应该写
select avg(sal)
from emp
group by deptno; --这种不会展示deptno
from emp
group by deptno ; --按照部门编号分组
select a,b,c ,组函数(x)
from table
group by a ; --这里应该写a,b,c 不能只写a 通过部门号 然后通过b c条件接着分组
只写a ora-00937 非法使用分组函数
在select 列表中所有未包含的组函数中的列 group by中都应该写
select avg(sal)
from emp
group by deptno; --这种不会展示deptno
2018-04-19
select sum(sal)/count(*) , sum(sal)/count(sal) , avg(sal) from emp ;
count(*) 会包含空值的个数
分组函数会自动过滤掉空值
nvl函数 使得分组函数不忽略空值
nvl(comm,0) 这个函数的意思是 当该字段为空的时候返回第二个参数
当字段不为空 返回他本身
这个函数可用于自增的输入
nvl(max(sno),0))+1 最大值加一 可用于插入数据的编号
count(*) 会包含空值的个数
分组函数会自动过滤掉空值
nvl函数 使得分组函数不忽略空值
nvl(comm,0) 这个函数的意思是 当该字段为空的时候返回第二个参数
当字段不为空 返回他本身
这个函数可用于自增的输入
nvl(max(sno),0))+1 最大值加一 可用于插入数据的编号
2018-04-19
select avg (表中列字段) ,sum (表中列字段) from 表; --列出 表中字段的平均值,和
select max (表中的字段), min (表中的字段) from 表 ; --列出表中字段的 最大值 最小值
select count(*) from 表; 输出这个表中一共有的数据条数
select count(distinct 表中字段) from 表; 输出表中不重复字段的个数
distinct 用于去重
select max (表中的字段), min (表中的字段) from 表 ; --列出表中字段的 最大值 最小值
select count(*) from 表; 输出这个表中一共有的数据条数
select count(distinct 表中字段) from 表; 输出表中不重复字段的个数
distinct 用于去重
2018-04-19
最新回答 / 寒山问道
select sum(sal) from emp where deptno=10;select avg(sal) from emp where deptno = 10;试一试估计你Sql写错了吧
2018-04-17
select
pm_ci.ci_id as ci_id
, listagg(to_char(pm_stu.stu_name), ',') within group(order by pm_stu.stu_id) as stu_name
from
pm_ci
inner join pm_stu
on substr(pm_ci.stu_id, instr(pm_ci.stu_id, pm_stu.stu_id),1) = pm_stu.stu_id
group by pm_ci.ci_id;
pm_ci.ci_id as ci_id
, listagg(to_char(pm_stu.stu_name), ',') within group(order by pm_stu.stu_id) as stu_name
from
pm_ci
inner join pm_stu
on substr(pm_ci.stu_id, instr(pm_ci.stu_id, pm_stu.stu_id),1) = pm_stu.stu_id
group by pm_ci.ci_id;
select
pm_ci.ci_id as ci_id
, listagg(to_char(pm_stu.stu_name), ',') within group(order by pm_stu.stu_id) as stu_name
from
pm_ci
inner join pm_stu
on instr(pm_ci.stu_id, pm_stu.stu_id) > 0
group by pm_ci.ci_id;
pm_ci.ci_id as ci_id
, listagg(to_char(pm_stu.stu_name), ',') within group(order by pm_stu.stu_id) as stu_name
from
pm_ci
inner join pm_stu
on instr(pm_ci.stu_id, pm_stu.stu_id) > 0
group by pm_ci.ci_id;