ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 9614|回复: 5

[求助] 指定日期数据查询某时间段内记录并将其分类汇总

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-7-4 15:46 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
2011油井综合记录表中的数据记录了每一口井自投产至目前每一天的生产数据(包括投产以来每一天的液量、油量。。。。);
试验1表中记录了我想要查询的井的井号及井的投产日期;
设计视图那副截图表明我想得到该井自投产之日起30日内的液量平均数;
我先前发的帖子可能没说明白,让marco误解了,最后我也没按您的方法得出结果。
1、如果是查询所有井自投产30日内液量均值该如何操作。(既只用2011油井综合记录表,查询每个井自有记录以来前30天内的液量平均数,请版主明示)
2、已知井号、投产日期,既由试验1表和2011油井综合记录两个表创建查询,获得我想知道的井自投产以来30天内的液量平均数,我之所以这样问是想以后可以对其中任意井指定一日期下(可以是投产日期,也可以是其它日期)在想要的时间段内(可以是30或者50。。。)求得液量的平均数。
3、扩展:指定日期时间段内(例如30天内)的液量可能为零,所以我想就是在指定日期的情况下从液量字段开始计算,液量为空或者为0时跳过,直道平均够30个液量不为0的数,这就造成时间段可能不一定为30(因为有的井可能天天有液量,指定30天的时间段算是对的,但是有的井其实要算38天多才是对的)
2011综合记录.png
试验1.png
想要实现结果.png

TA的精华主题

TA的得分主题

发表于 2011-7-12 12:12 | 显示全部楼层
加上投产表也不难,如果这样的还不行,将数据传上来!
SELECT 井号,avg(液量) as 液量均值,avg(油量) as 油量均值
FROM tccxbz a where (select count(1) from tccxbz join 投产表 on  tccxbz.井号 = 投产表.井号  where 日期>=投产表.投产日期 and  井号=a.井号 and 日期<=a.日期)<=30
group by 井号

TA的精华主题

TA的得分主题

发表于 2011-7-15 12:30 | 显示全部楼层

回复 1楼 lwbu571 的帖子

请上传Access文档以便于测试

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-7-18 13:29 | 显示全部楼层

试了几天也没出来,只有请楼上高手出马了

试验数据里有的井可能没有,另外就是试验1表里我想将其中某个井的投产日期改成任意以便查询某一段该井油量原理和投产日期一致吗?

[ 本帖最后由 lwbu571 于 2011-7-18 13:39 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-7-18 14:47 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

数据在压缩包里

请帮我看看,也不知道哪里出问题了

新建 Microsoft Office Access 2007 数据库.part01.rar

195.31 KB, 下载次数: 62

新建 Microsoft Office Access 2007 数据库.part02.rar

145.02 KB, 下载次数: 52

TA的精华主题

TA的得分主题

发表于 2011-7-18 16:36 | 显示全部楼层
可以将(select b.* from 油井综合记录 b , 试验1 c where b.井号 = c.井号 and b.日期>=c.投产日期) 创建一个视图,这样代码看起来可以简洁些。

select a.*
from (select b.* from 油井综合记录 b , 试验1 c where b.井号 = c.井号 and b.日期>=c.投产日期)  a
WHERE (select count(1) from
(select b.* from 油井综合记录 b , 试验1 c where b.井号 = c.井号 and b.日期>=c.投产日期 ) T
where t.井号=a.井号 and T.日期<=a.日期)<=30
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-11 11:21 , Processed in 0.021232 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表