十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
select MG_ID,trunc(TIME,'dd') statDay,avg(FEED_IN_POWER) feedAvg from tableName group by MG_ID,trunc(TIME,'dd')
创新互联公司成立于2013年,是专业互联网技术服务公司,拥有项目网站制作、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元平顺做网站,已为上家服务,为平顺各地企业和个人服务,联系电话:13518219792
给你简单写一下
数据及表
create table test(tag_date varchar2(8),
tag_time varchar2(6),
tag01 number(4,1));
insert into test values ('20130818','000210',26.7);
insert into test values ('20130818','000440',26.7);
insert into test values ('20130818','000710',26.7);
insert into test values ('20130818','000940',26.8);
insert into test values ('20130818','001210',26.8);
insert into test values ('20130818','001440',26.8);
insert into test values ('20130818','001710',26.8);
insert into test values ('20130818','001940',26.8);
insert into test values ('20130818','003210',26.8);
insert into test values ('20130818','003440',26.8);
insert into test values ('20130818','003710',26.8);
insert into test values ('20130818','003940',26.7);
执行
select a.tag_date,avg(a.tag01) from
(select ceil(rownum/4) rn,test.* from test) a
group by a.tag_date,a.rn;
结果截图
简单给你说明一下
(select ceil(rownum/4) rn,test.* from test) a
这个就是用行号除以4向上取整,比如1/4 2/4 3/4 4/4 最终取到的整数都是1,所以这样就能把4个分成一组了,当5/4 6/4..这样取到的整数就是2了
你这个插入顺序如果比较错乱的话
可以改成
row_number() over (order by tag_date||tag_time) 这样的形式
还有,你可以把括号里那句单独拿出来执行一下,看下结果,大概就知道什么意思了
三个月,每月的平均:
select 月份,avg(sum(charge)) from 费用 where 时间 between 1月 and 3月 group by 月份
三个月的总平均:
select avg(sum(charge)) from 费用 where 时间 between 1月 and 3月
你好,如果格式都如你贴图的一样的话可以用这种最笨的方式全一个个化成数值型,然后相加取值。
select CHECK_NORM,
(to_number(substr(CHECK_INFO, 1, 4)) +
to_number(substr(CHECK_INFO, 6, 4)) +
to_number(substr(CHECK_INFO, 11, 4)) +
to_number(substr(CHECK_INFO, 16, 4)) +
to_number(substr(CHECK_INFO, 21, 4)) +
to_number(substr(CHECK_INFO, 26, 4)) +
to_number(substr(CHECK_INFO, 31, 4)) +
to_number(substr(CHECK_INFO, 36, 4)) +
to_number(substr(CHECK_INFO, 41, 4)) +
to_number(substr(CHECK_INFO, 46, 4))) / 10
from 表名;
如果格式不统一,建议如2楼的,把字符型中的‘/’全部替换成‘+’,然后拼接出来一个sql,执行处理。
望采纳,谢谢。
select
grade.学年, students.班,course.课程名, round(sum(grade.成绩)/count(students.学号),1) 平均成绩
from students,
course,
grade
where grade.sid=students.sid
and grade.cid=course.cid
group by grade.学年,students.班,course.课程名
一、oracle有自己的定时器,创建一个job每十五分钟执行一次,把查询的结果更新到一张表中,从这个表里取值就行了。
二、在工程中解决的话看你用的是什么,像spring之类的都有定时器。自己写个定时器每十五分钟执行一次就行了。
三、如果是前台发起的就更简单了,用setInterval循环执行,周期为十五分钟。